我一直在尝试使用jquery ajax提交表单,但一直有问题。 当我通过firebug检查时,我看到已发布的值,但它显示了来自网址的错误。我有这个HTML
<form method="post" name="tForm" id="tForm">
<table>
<tr>
<td>Age</td>
<td><input name="age" id="age" value="" /></td>
</tr>
<tr>
<td><input type="button" id="submit" value="submit"/></td>
</tr>
</table>
</form>
</body>
提交表单的我的js文件有这段代码
$(document).ready(function() {
$('#tForm').submit(function(){
var age = $('#age').val();
var msg ='';
$.ajax({
url:'testp.php',
type:'post',
data: {age:age},
beforeSend:function(){
alert(age);
},
success:function(data){
msg=data;
alert(msg);
},
complete:function(){
alert(msg);
}
})
})
});
我的testp.php文件只有这个
<?php
echo 'ok';
?>
答案 0 :(得分:0)
您需要阻止事件传播。您的表单尝试使用标准方法提交,因为您的表单没有操作,您会收到错误。
$(document).ready(function() {
$('#tForm').submit(function(){
var age = $('#age').val();
var msg ='';
$.ajax({
url:'testp.php',
type:'post',
data: {age:age},
beforeSend:function(){
alert(age);
},
success:function(data){
msg=data;
alert(msg);
},
complete:function(){
alert(msg);
}
})
return false;
})
});
答案 1 :(得分:0)
使用$('#tForm').submit(function(e){ ...
然后调用e.preventDefault();
以阻止在常规(非ajax)请求中提交表单。
但是,我建议您查看jQuery form plugin,以节省一些工作。