Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 HTML5必需属性不适用于AJAX提交_Javascript_Jquery_Ajax_Html_Forms - Fatal编程技术网

Javascript HTML5必需属性不适用于AJAX提交

Javascript HTML5必需属性不适用于AJAX提交,javascript,jquery,ajax,html,forms,Javascript,Jquery,Ajax,Html,Forms,我试图做一些基本的验证一个简单的通讯形式,我只需要一封电子邮件。按照我在页面中使用此表单/输入的方式,实际上没有空间添加任何jQuery验证错误消息,因此我尝试添加一个简单的HTML5必需属性,但是表单提交时不管是否为空 向该表单添加一些简单验证以便表单检查电子邮件地址、是否已填写以及最小长度为4个字符的最佳方法是什么 <form action="" method="POST" id="newsletter-form"> <input type="email" id="

我试图做一些基本的验证一个简单的通讯形式,我只需要一封电子邮件。按照我在页面中使用此表单/输入的方式,实际上没有空间添加任何jQuery验证错误消息,因此我尝试添加一个简单的HTML5必需属性,但是表单提交时不管是否为空

向该表单添加一些简单验证以便表单检查电子邮件地址、是否已填写以及最小长度为4个字符的最佳方法是什么

<form action="" method="POST" id="newsletter-form">
    <input type="email" id="footer-grid1-newsletter-input" placeholder="Your Email Address" required>
    <input type="submit" id="footer-grid1-newsletter-submit" name="submit" value='&nbsp'>
</form>

原因是验证是在表单的
submit
事件上完成的,但您已将事件挂接到单击submit按钮上。试试这个:

$("#newsletter-form").on("submit", function (event) {
    event.preventDefault();
    // your code...
});

关于验证最小输入长度,您可以使用
模式
属性:

<input type="email" id="footer-grid1-newsletter-input" placeholder="Your Email Address" pattern=".{3,}" required>


因为单击按钮的Ajax调用与表单提交无关。浏览器不知道Ajax调用是否与表单相关。您需要询问表单是否有效或是否绑定到提交事件,而不是按钮单击。如果用户使用keyboard@charlietfl您指的是将我的按钮id放入我的ajax单击函数中,对吗<代码>$(“#footer-grid1-newsletter-submit”)。在(“单击”上,函数(事件){。那么,我应该总是绑定我的表单吗?不完全是……如果用户在键盘上点击
输入
,表单的提交事件将触发,但不点击按钮。忘记button@charlietfl明白了!非常好的建议。谢谢!非常好,谢谢!如果我的记忆正确。所需属性对Safari不起作用,对吗?如果如果是这样的话,您会推荐什么作为备份,还是建议做一些完全不同的事情。您是对的,
必需的
(以及
模式
)不要在Safari中工作。它很快就会使用这几十年的Internet Explorer。作为一种解决方法,我建议使用jQuery,因为页面中已经包含jQuery。我让jQuery验证其他位置,我只是不喜欢错误类的灵活性。我的输入下没有太多空间,因为这在我的页脚中,所以我不知道如何让它脱颖而出。