使用jquery提交表单的问题

时间:2011-09-28 12:31:28

标签: php jquery

我一直在尝试使用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';
?>

2 个答案:

答案 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,以节省一些工作。

相关问题