За последние 24 часа нас посетили 17902 программиста и 1642 робота. Сейчас ищут 1303 программиста ...

проблема с ajax и тегом form

Тема в разделе "PHP для новичков", создана пользователем mitiya, 7 сен 2011.

  1. mitiya

    mitiya Активный пользователь

    С нами с:
    7 сен 2011
    Сообщения:
    5
    Симпатии:
    0
    сел изучать php, решил в процессе написать маленький интерфейс командной строки для сервера, ну в смысле чтоб там запускать всякие ping , ls и тд )

    написал небольшой код.
    вроде даже прикрутил аякс.
    Но. Хотелось мне что бы команда отправлялась при нажатии на Enter.
    В теге form какраз при нажатии на Enter происходит событие onsubmit , к нему я и прицепил вызов javascript.
    И все перестало работать, причем алерты в яваскрипте показывают, что информация собирается url формируется, но судя по всему запрос не оправляется ибо php скрипт на сервере не формирует лог.

    Код (Text):
    1.  
    2. <html>
    3. <head>
    4.     <link rel="stylesheet" type="text/css" href="style.css" media="all" />
    5.     <title>CMD</title>
    6.     <script language="javascript" type="text/javascript">
    7.        var request = false;
    8.        try {
    9.          request = new XMLHttpRequest();
    10.        } catch (trymicrosoft) {
    11.          try {
    12.            request = new ActiveXObject("Msxml2.XMLHTTP");
    13.          } catch (othermicrosoft) {
    14.            try {
    15.              request = new ActiveXObject("Microsoft.XMLHTTP");
    16.            } catch (failed) {
    17.              request = false;
    18.            }  
    19.          }
    20.        }
    21.  
    22.        if (!request)
    23.          alert("Error initializing XMLHttpRequest!");
    24.  
    25.        function getCustomerInfo() {
    26.          var cmdis = document.getElementById("cmd").value;
    27.          alert(cmdis);
    28.          var url = "/testhtml/script.php?cmdis=" + escape(cmdis);
    29.          alert(url);
    30.          request.open("GET", url, true);
    31.          request.onreadystatechange = updatePage;
    32.          request.send(null);
    33.        }
    34.  
    35.        function updatePage() {
    36.          if (request.readyState == 4) {
    37.            if (request.status == 200) {
    38.              var response = request.responseText;
    39.              alert(response);
    40.              document.getElementById("w").innerHTML = response;
    41.            } else
    42.              alert("status is " + request.status);
    43.          }
    44.        }
    45.     </script>
    46. </head>
    47. <body>
    48. <div id="m">
    49. <div id="w"></div>
    50. <FORM onsubmit="getCustomerInfo();">
    51. команда:
    52. <INPUT TYPE="text" name="cmdis" SIZE="20" VALUE="ping -c 4 8.8.8.8" id="cmd">
    53. <INPUT TYPE="submit" VALUE="Отправить">
    54. </FORM>
    55. </div>
    56. </body>
    57. </html>
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    Может быть:
    <FORM onsubmit="javascript: getCustomerInfo();return false;">