Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用ajax请求验证HTML表单到另一个页面_Javascript_Jquery_Html_Ajax - Fatal编程技术网

Javascript 使用ajax请求验证HTML表单到另一个页面

Javascript 使用ajax请求验证HTML表单到另一个页面,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我想使用我网站的另一个页面来验证HTML表单输入。如果输入无效,我希望在表单页面的某处显示错误,而不重新加载。否则,如果有效,我希望正常提交表单 在阅读了类似的SO问题后,我并没有找到任何确切的答案,但实际上我发明了自己的答案,这对我来说很有用。尽管如此,我仍然认为我的解决方案有点奇怪,所以我正在寻求合适的想法 HTML: NB:它按预期工作,我要求更好的解决方案。我删除了我的答案,因为它不相关。通常情况下,服务器端验证使用与您发布到的方法相同的方法完成,然后返回一个错误(或成功)。通过修改服务

我想使用我网站的另一个页面来验证HTML表单输入。如果输入无效,我希望在表单页面的某处显示错误,而不重新加载。否则,如果有效,我希望正常提交表单

在阅读了类似的SO问题后,我并没有找到任何确切的答案,但实际上我发明了自己的答案,这对我来说很有用。尽管如此,我仍然认为我的解决方案有点奇怪,所以我正在寻求合适的想法

HTML:


NB:它按预期工作,我要求更好的解决方案。

我删除了我的答案,因为它不相关。通常情况下,服务器端验证使用与您发布到的方法相同的方法完成,然后返回一个错误(或成功)。通过修改服务器方法,然后根据收到的响应重定向,您可以做到这一点,而无需发回。然而,您在另一个服务器方法中进行验证的方法似乎并不遥远,或者完全不寻常——事实上,我喜欢它。我会处理这个错误:ajax调用的函数只是为了更好的度量,但在其他方面不会做任何更改。对你的方法投赞成票。我删除了我的答案,因为它无关紧要。通常情况下,服务器端验证使用与您发布到的方法相同的方法完成,然后返回一个错误(或成功)。通过修改服务器方法,然后根据收到的响应重定向,您可以做到这一点,而无需发回。然而,您在另一个服务器方法中进行验证的方法似乎并不遥远,或者完全不寻常——事实上,我喜欢它。我会处理这个错误:ajax调用的函数只是为了更好的度量,但在其他方面不会做任何更改。投票支持你的方法。
 <form id="form" method="POST"> ... some inputs ... </form>
 <button id="submit" type="submit">Save</button>
 <p id="errors"></p>
$('#form').submit(function (event) {
  var formData = $(this).serializeArray();
  event.preventDefault();
  $.ajax({
         type: "POST",
         url: '/validate/',
         data: formData,
         success: function(data) {
            if(!data)
            {
              $('#form').unbind('submit');
              $('#submit').trigger('click');
            }
            else
            {
                $('#errors').text(data);
            }
        }
      });

return false;
});