我有ajax的validation检查,它会显示错误。 但是,它会显示错误,然后立即转到显示错误的表单发送页面。
该页面非常长 – 所以我将粘贴一个关于ajax部分的示例。
我应该注意,这里的所有内容都按照预期的方式工作 – 唯一的问题是它将通过ajax显示错误(应该如此)然后在几秒钟后重定向到submit_form.php,并以纯文本显示错误消息。
HTML
JS
$('#submit_form).on('click', function () { $.ajax({ type: "POST", url: "submit_form.php", dataType: "json", data: $('#form_1').serialize(), success: function (json) { $('.message_center').html(''); if(json['success']) { $('.message_center').html(''+ ' '+ ' '+ ' '+ ' Success!
'+ ' '+json['success']+''+ ' '+ ' '+ ' '); } if(json['error']) { var html=''; $.each( json['error'], function( key, value ) { html += value+'
'; }); $('.message_center').html(''+ ' '+ ' '+ ' '+ ' Error! There was a problem.
'+ ' '+html+''+ ' '+ ' '+ ' '); } } }); });
SUBMIT_FORM.PHP
您需要阻止form
的默认操作,即在单击submit
input type
时submit
,以便您的ajax
进程顺利运行。 在您的click
事件中添加e.preventDefault();
$('#submit_form').on('click', function (e) { //get the e as parameter e.preventDefault(); //rest of your code. });
尝试使用addEventListener,然后调用event.preventDefault()以阻止表单在出现错误时提交,如下所示:
$('#submit_form').addEventListener('click', function (event) { // Prevents form from submitting event.preventDefault(); $.ajax({ type: "POST", url: "submit_form.php", dataType: "json", data: $('#form_1').serialize(), success: function (json) { $('.message_center').html(''); if(json['success']) { $('.message_center') .html(''+ ' '+ ' '+ ' '+ ' Success!
'+ ' '+json['success']+''+ ' '+ ' '+ ' '); } if(json['error']) { var html=''; $.each( json['error'], function( key, value ) { html += value+'
'; }); $('.message_center') .html(''+ ' '+ ' '+ ' '+ ' Error! There was a problem.
'+ ' '+html+''+ ' '+ ' '+ ' '); } } }); });
以上就是jQuery教程分享AJAX-PHP如果validation失败,请保持同一页面相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/558503.html