Jquery Ajax提交页面刷新
我已经疯了,我似乎不知道如何在通过ajax提交表单时阻止页面刷新 我已经设置了一个JSFIDLE供您查看: 我已经完成了event.prefentDefault()并返回false;但似乎无法让它工作。我只是愚蠢吗 最终的结果应该是,当表单提交时,表单区域应该显示出来,并被“隐藏”的ajax_消息替换,该消息的简单内容是:“检查您的手机”Jquery Ajax提交页面刷新,jquery,ajax,forms,onsubmit,preventdefault,Jquery,Ajax,Forms,Onsubmit,Preventdefault,我已经疯了,我似乎不知道如何在通过ajax提交表单时阻止页面刷新 我已经设置了一个JSFIDLE供您查看: 我已经完成了event.prefentDefault()并返回false;但似乎无法让它工作。我只是愚蠢吗 最终的结果应该是,当表单提交时,表单区域应该显示出来,并被“隐藏”的ajax_消息替换,该消息的简单内容是:“检查您的手机” 提前感谢您保存我的发际:)您submit\u number函数在“document ready”事件处理程序中定义,并且仅在该函数(作用域)及其子函数中可见,
提前感谢您保存我的发际:)您
submit\u number
函数在“document ready”事件处理程序中定义,并且仅在该函数(作用域)及其子函数中可见,因此您不能从HTML中使用它,因为HTML中只有全局作用域可用
如果您激活了firebug或类似的东西,您将在错误控制台中看到它
要让它工作起来,一个快速的破解方法就是替换
function submit_number(event) {
与
因此,明确地将您的函数放在全局范围内,但这不是推荐的方法。用你的单一功能来污染全球范围是没有意义的
更好的方法是将函数注册为JS中的事件处理程序,如下所示:
$('form.kinkast_signup').submit(submit_number);
另外,您可能希望向该表单添加一个ID,并通过ID而不是类名引用它。将其绑定到JavaScript,而不是在表单中使用“onclick”
因此,与其
function submit_number(event)
做
preventDefault()可以删除。请检查以下内容:
当onclick事件发生时调用的函数应该只返回false。试试这个我修复了你的小提琴: 我只是悄悄地分配了事件处理程序,如:
$('#idOfTheForm').submit(function(event){
...
});
$(form).submit(function(event)
<form method="post" class="kinkast_signup" onsubmit="submit_number(); return false">
<input id="login_email" type="text" name="to" />
<input id="signInButtonSubmit" type="submit" name="action" value="Send" />
</form>
window.submit_number=function() {
//Prevent Default page refresh on submit
//event.preventDefault();
......
}
$('#idOfTheForm').submit(function(event){
...
});