在使用JS清理联系表单后如何删除HTML5表单验证

时间:2013-11-04 13:56:43

标签: javascript forms validation

我有一个联系表单,它在javascript中有验证。我希望在提交邮件后清除表单。

我用

清理它
$(':input', '#contact')
.removeAttr('checked')
.removeAttr('selected')
.not(':button, :submit, :reset, :hidden, :radio, :checkbox')
.val('');

之后表单是干净的,但HTML5验证是三角形的,所以我的输入用红色突出显示。如何删除红色,请帮助。

(稍后补充)我不知道该怎么做,我有他的代码:

$.ajax({
type: 'POST',
url: '/wordpress/wp-content/themes/conexion/config.php',
data: $("#contact").serialize()+"&filename="+response.filename+"&filepath="+response.filepath,
enctype: 'multipart/form-data',
success: function(data) {
if(data == "true") {
$("#message").replaceWith('<div id="message"><p>El mensaje</p><p>ha sido enviado</p></div>');                                       $(':input', '#contact')
.removeAttr('checked')
.removeAttr('selected')
.not(':button, :submit, :reset, :hidden, :radio, :checkbox')
.val('');
                                        }
                                    }
                                });
return false;

3 个答案:

答案 0 :(得分:1)

如果仍然触发了HTML5验证,只需在表单标记中添加novalidate:

<form method="post" action="/foo" novalidate>...</form>

答案 1 :(得分:0)

谢谢alexoulu和Ricky Stam,我最终禁用了HTML5验证,但没有禁用内部表单标签。我在jquery中通过$('#contact')禁用它.attr('novalidate',true);因此,如果浏览器禁用JS,它将使用HTML5进行验证。

答案 2 :(得分:-1)

<input type="button" value="Submit" id="btnsubmit" onclick="submitForm()">

function submitForm() {
   // Get the first form with the name
   // Hopefully there is only one, but there are more, select the correct index
   var frm = document.getElementsByName('contact-form')[0];
   frm.submit(); // Submit
   frm.reset();  // Reset
   return false; // Prevent page refresh
}