2012-07-11 90 views
4

我是jquery的新手,并试图从PHP学院修改基本脚本。jquery,发布多个变量

jquery的脚本是:

<script type="text/javascript"> 
function get() { 
    $.post('getpeopleinjobs.php', { 
     postvarfname: form.firstname.value, 
     postvarlname: form.d = surname.value 
    }, function(output) { 
     $('#age').html(output).show(); 
    }); 
} 
</script> 

和我的表单代码:

<form name="form"> 
    <input type="text" id="firstname"> 
    <input type="text" id="surname"> 
    <input type="button" value="get" onclick="get();"> 
    </form> 

这完美地工作,当我路过只是一个变量,我的代码片段是:

$.post('getpeopleinjobs.php', { 
    postvarfname: form.firstname.value 
} 

我然后尝试添加第二个变量与

$.post('getpeopleinjobs.php', { 
    postvarfname: form.firstname.value, 
    postvarlname: form.d = surname.value 
} 

它现在在Internet Explorer中不起作用,但有趣的是,它在Chrome中工作吗?

对于初学者有什么建议=

+2

你确定你的意思是有字符'D ='坐在第二个值?所以,它应该读取'$ .post('getpeopleinjobs.php',{postvarfname:form.firstname.value,postvarlname:form.surname.value}' – 2012-07-11 16:26:17

回答

8

你倒有正确的概念,但有似乎是一个小的失误

//Posted Code 
$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value,postvarlname: form.d=surname.value} 
// Fixed Code 
$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value, postvarlname: form.surname.value} 
5

您的post代码一个错字:

$.post('getpeopleinjobs.php',{ 
    postvarfname: form.firstname.value, 
    postvarlname: form.surname.value 
}, function() { /* ... */ }); 

应该正常工作。

4

看起来您的脚本中存在问题。删除=标志:

$.post ('getpeopleinjobs.php',{postvarfname: form.firstname.value,postvarlname: form.surname.value}); 

你也可能只是想要写脚本:

$.post ('getpeopleinjobs.php',$(form).serialize()); 

如果添加附加字段的形式,你不必修改脚本这样。

+0

您好约翰,你能详细说明serialze函数吗?表单数据到下一页?谢谢 – Smudger 2012-07-11 17:55:47

+1

是啊,序列化函数序列化所有的孩子'输入'元素到URL编码的文本字符串http://api.jquery.com/serialize/ – 2012-07-11 19:13:21

+0

谢谢约翰,感谢它。在上面。 – Smudger 2012-07-11 21:44:18