Javascript 使用锚定作为提交按钮会导致模式属性无法验证
我有一个表单,它使用一个锚点作为提交按钮,如下所示:Javascript 使用锚定作为提交按钮会导致模式属性无法验证,javascript,html,validation,Javascript,Html,Validation,我有一个表单,它使用一个锚点作为提交按钮,如下所示: <!DOCTYPE html> <head> <script src="jquery.js"></script> </head> <body> <form action="" method="post"> <input type="text" pattern="[A-Za-z]{3}" /> <a href="#"
<!DOCTYPE html>
<head>
<script src="jquery.js"></script>
</head>
<body>
<form action="" method="post">
<input type="text" pattern="[A-Za-z]{3}" />
<a href="#" class="submit">Submit</a>
<input type="submit" />
</form>
<script>
$(".submit").click( function(e) {
var form = $(this).parents('form:first');
form.submit();
//e.preventDefault();
});
</script>
</body>
</html>
当我单击submit按钮时,我看到一条消息,告诉我验证失败。当我单击submit锚点时,表单被提交。当使用锚点作为提交按钮时,如何触发验证
我可以这样做:
<form action="" method="post">
<input type="text" pattern="[A-Za-z]{3}" />
<a href="#" class="submit">Submit</a>
<input style="display: none" id="i_submit" type="submit" />
</form>
//snip
<script>
$(".submit").click( function(e) {
$("#i_submit").click();
});
</script>
它确实验证表单,防止提交,并在输入字段周围绘制红色边框,但它不会像单击真正的提交按钮时那样显示任何类型的错误消息
如何使错误消息像单击了真正的提交按钮一样弹出?如果要将超链接用作提交按钮,可以使用以下格式触发该功能 提交 你也可以到这里:
使用jQuery,您只能这样做:
<form action="" method="post" id="form1">
<input type="text" pattern="[A-Za-z]{3}" />
<a href="#" class="submit">Submit</a>
<input style="display: none" id="i_submit" type="submit" />
</form>
$(".submit").click(function(e){
e.preventDefault();
if(validate()) // function that validates your form (returns true or false)
{
$("#form1").submit();
}
});
我不是在寻找需要手动验证的解决方法。我想要一种调用验证的方法,就像单击提交按钮一样。