使用jquery&传递var阿贾克斯

时间:2013-06-29 11:20:40

标签: php jquery html ajax get

当用户取消该文本框时,我试图使用jquery和ajax将html文本框表单字段的值传递给另一个.php文件。文本框的ID为“aircraftReg”。我使用的代码如下......

$(document).ready(function(){
    $("#aircraftReg").blur(function() {
        var aircraftReg = $(this).value;
        $.get("searchDatabase.php?q=aircraftReg", function(data){                   
            // My function                 
        });  
    });
});

我认为问题在于创建var aircraftReg。我试图将其值分配给文本框中带有id“aircraftReg”的文本。

有人能看出出了什么问题吗?

3 个答案:

答案 0 :(得分:1)

尝试改变它:

 var aircraftReg = $(this).val();
 $.get("searchDatabase.php?q="+aircraftReg , function(data){                   
            // My function                 
        }); 

要获取文本字段(或其他输入)的值,jQuery中有.val()方法。

答案 1 :(得分:1)

您需要更改Url,因为您将javascript var传递给了网址,因此我必须添加+

var aircraftReg = $(this).val();
$.get("searchDatabase.php?q="+aircraftReg , function(data){                   
     //function logic goes here             
});

答案 2 :(得分:1)

您已将aircraftReg作为常规字符串而不是javascript变量传递。

$(document).ready(function(){
    $("#aircraftReg").blur(function() {
        var aircraftReg = $(this).value; //or $(this).val();
        $.get("searchDatabase.php?q="+ encodeURIComponent(aircraftReg), function(data){                   
            // My function                 
        });  
    });
});

此外,您有三种编码选项:

escape()不会编码:@*/+

encodeURI()不会编码:~!@#$&*()=:/,;?+'

encodeURIComponent()不会编码:~!*()'

注意:escape()功能为非ASCII,encodeURI()encodeURIComponent() UTF-8 兼容。