Javascript 触发html表单提交,就像单击按钮一样(但没有按钮)?
如果您有一个Javascript 触发html表单提交,就像单击按钮一样(但没有按钮)?,javascript,html,forms,validation,Javascript,Html,Forms,Validation,如果您有一个和一个,并单击提交按钮,它将执行默认表单验证,例如检查是否需要。它通常会说请填写此字段。 但是,例如,如果我通过$(“form”).submit()以编程方式提交表单,它将在不执行任何检查的情况下提交表单 是否有一种更简单的方法可以使用本机JavaScript执行默认表单验证?在表单元素上似乎只有checkValidity()返回true或false。如果我在输入本身上调用相同的本机函数,它实际上什么都不做 下面是我的意思的演示代码: 我想这可能就是你想要的答案: JavaScrip
和一个
,并单击提交按钮,它将执行默认表单验证,例如检查是否需要
。它通常会说请填写此字段。
但是,例如,如果我通过$(“form”).submit()以编程方式提交表单,它将在不执行任何检查的情况下提交表单
是否有一种更简单的方法可以使用本机JavaScript执行默认表单验证?在表单
元素上似乎只有checkValidity()
返回true
或false
。如果我在输入
本身上调用相同的本机函数,它实际上什么都不做
下面是我的意思的演示代码:
我想这可能就是你想要的答案:
JavaScript:
document
.getElementById('button')
.addEventListener("click",function(e) {
document.getElementById('myForm').validate();
});
HTML:
<form id="myForm" >
First name: <input type="text" name="FirstName" required><br>
Last name: <input type="text" name="LastName" required><br>
<button id="button">Trigger Form Submit</button>
</form>
名字:
姓氏:
触发表单提交
演示:对于仍在挣扎的人:
您可以使用约束验证API
-
提交
const form=document.querySelector(“表单”);
document.getElementById(“保存”).addEventListener(“单击”,e=>{
e、 预防默认值();
if(form.checkValidity()){
控制台日志(“提交…”);
}否则{
form.reportValidity();
}
});
退房并在这里玩:
我希望它能帮助你或给你一些想法 OP没有要求使用jQuery。@NotroioUSPET0从jQuery更改为JavaScript。如果我的表单中没有按钮怎么办?(这就是我问这个问题的原因)你是说我们不能单独触发按钮执行的行为吗?@codenamezero每当你想提交表单时,只要执行这个文档即可。getElementById(“#myForm”).validate();是的,但我总是得到类型错误:$(…)。验证不是一个函数。在我提出有关stackoverflow的问题之前,我已经搜索并尝试了一些可能的解决方案。似乎本机函数只有form
元素中的checkValidity
,没有其他功能。我认为validate
是5年后的jQuery plugin.LOL。XD但是是的,我想在点击时连接到一个事件监听器会起作用。:D LOL-是的-我是一只乌龟。无论如何,我使用了按钮并单击了一个事件,但是该代码可以在任何事件中使用-您需要的是表单引用,以便您可以检查和报告;)