我认为这会奏效,也许我错过了什么?我该怎么做才能调用 javascript 提交事件?
谢谢,
约翰
<html>
<body>
<form name='myForm' action='formprocess.php' method='get'>
Name: <input type='text' onChange="ajaxFunction();" name='username' /> <br />
Time: <input type='text' name='time' />
</form>
<script type="text/javascript">
var frm = $('myform');
frm.submit(function () {
$.ajax({
type: frm.attr('method'),
url: frm.attr('action'),
data: frm.serialize(),
success: function (data) {
alert('ok');
}
});
return preventDefault();
});
</script>
<div id="box"> </div>
</body>
最佳答案
第一个问题是name='myForm'
. name 属性(表单 controls 除外(如 <input>
))已过时。使用 id
属性代替。
id="myForm"
第二个问题是$('myform');
这将选择 <myform>
元素。使用 #myForm
通过 ID 选择元素。
第三个问题是return preventDefault();
.
preventDefault
是事件对象的方法,不是全局的,不应返回。
您需要捕获事件对象(它是函数的第一个参数)并调用它的方法:
frm.submit(function (evt) {
…
evt.preventDefault();
});
第四(给 Tieson T 的帽子提示),您需要在表单中有一个提交按钮才能提交。
关于javascript - 我如何将ajax提交功能添加到表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939636/