检查javascript中按需标记字段的有效性
我不想在按下表单上的“提交”按钮时执行提交操作,而是执行一些数据操作,然后使用javascript检查javascript中按需标记字段的有效性,javascript,html,validation,Javascript,Html,Validation,我不想在按下表单上的“提交”按钮时执行提交操作,而是执行一些数据操作,然后使用javascript表单提交表单。提交-因此,我不在表单中使用元素: <form action="process.php" method="post" name="myForm"> <input type="text" name="entry" id="entry" required /> <input type="button" value="Submit" onclic
表单提交表单。提交
-因此,我不在表单中使用
元素:
<form action="process.php" method="post" name="myForm">
<input type="text" name="entry" id="entry" required />
<input type="button" value="Submit" onclick="manipulate_and_submit(this.form, this.form.entry);" />
</form>
但是在提交之前,我想验证表单的条目和其他元素-我可以手动进行验证。但是HTML5为我们提供了所需的和许多其他属性——我怎么能简单地集成它们呢?是否有类似于form.isValid()
的内容?谷歌搜索“validate javascript html form”只是给了我一些例子来处理“ye olde times”中的javascript手动验证…您可以使用checkValidity
,这是HTMLFormElement
提供的一种方法。在您的示例中,它类似于if(!form.checkValidity()){code here}
。来自MDN:
如果受约束验证的所有控件都满足其约束,则[checkValidity]返回true;如果某些控件不满足其约束,则返回false。在任何不满足其约束的控件上激发名为invalid的事件;如果事件未取消,则此类控制被视为无效
如上所述,它还会在每个无效表单项上触发invalid
事件。然后,您可以让自己的处理程序显示无效,如所述。虽然这有助于它不会导致表单显示其验证错误消息,但是否有方法触发这些消息?
function manipulate_and_submit(form, entry) {
var val = entry.value;
var hidden = document.createElement("input");
form.appendChild(hidden);
hidden.type = "hidden";
hidden.name = "m";
hidden.value = generate_other_value(val);
entry.value = "";
form.submit();
}