Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 使用锚定作为提交按钮会导致模式属性无法验证_Javascript_Html_Validation - Fatal编程技术网

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();
}
});

我不是在寻找需要手动验证的解决方法。我想要一种调用验证的方法,就像单击提交按钮一样。