Как отправить значение текстового поля в CGI-скрипт - PullRequest
1 голос
/ 29 сентября 2010

У меня есть текстовое поле с идентификатором kTb.Когда я нажимаю кнопку после ввода какого-либо значения в текстовое поле, внутри javascript вызывается changeV (str) ниже ('onClick = "changeV (kTb.value)"').«Alert (str)» дает мне значение, которое я ввел в текстовое поле, но когда я передаю его «urll =" uSetENV.cgi? KullaTest = str "', я НЕ получаю введенное значение, просто str.Не могли бы вы, пожалуйста, дайте мне знать, как передать / получить введенное значение, пожалуйста, дайте мне знать, если я НЕ ясно, спасибо.

==================================================================================

функция changeV (str)

{

alert("starting change value");
alert(str);
urll = "uSetENV.cgi?kullaTest=str";
var reqq

//fw_setenv kullaTest str;
    if (window.XMLHttpRequest) {
    reqq = new XMLHttpRequest();
    reqq.open("GET", urll, true);
    reqq.setRequestHeader( "If-Modified-Since",
                "Sat, 1 Jan 2000 00:00:00 GMT" );
    reqq.send(null);
// branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
    reqq = new ActiveXObject("Microsoft.XMLHTTP");
    if (reqq) {
        reqq.open("GET", urll, true);
            reqq.setRequestHeader( "If-Modified-Since",
                "Sat, 1 Jan 2000 00:00:00 GMT" );
        reqq.send();
    }
}
alert("done change value");

}

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

JavaScript не имеет символа для обозначения переменной (т. Е. foo является переменной и не должен называться $foo), поэтому вы не можете выполнять интерполяцию переменных в строках.Вы должны создать свою строку в явном виде.

Вы также должны иметь дело с символами, которые имеют особое значение в URI, используя encodeURIComponent.

urll = "uSetENV.cgi?kullaTest=" + encodeURIComponent(str);
1 голос
/ 29 сентября 2010

Использовать jQuery - http://api.jquery.com/jQuery.post/

И используйте POST, а не GET.

alert("starting change value");
alert(str);
$.post('uSetENV.cgi', {'kullaTest': str}, function(data) {
   str = data;
   alert("done change value");
   alert(str);
});

alert('Here str is still not changed because AJAX requests are asynchronous');
...