提交一个没有提交按钮的HTML表单?

Ric*_*uez 15 html forms jquery

我可以提交一个HTML <form><div>代替<input type="submit">

像这样:

<form method="post" action="" id="myForm">
<textarea name="reply">text</textarea>
</form>

<div>Submit the form by clicking this</div>
Run Code Online (Sandbox Code Playgroud)

jap*_*ott 39

非常简单;

document.getElementById("myForm").submit();
Run Code Online (Sandbox Code Playgroud)

如果你想做jQuery风格(我不推荐这么简单的任务);

$("#myForm").submit();
Run Code Online (Sandbox Code Playgroud)

  • 为什么现在每个人都使用最简单的任务jquery?jQuery将在此解决方案之上添加500个CPU指令.如果你能做一些简单的事情,为什么不做呢? (13认同)
  • @japrescott jQuery中的`submit`方法并不是很贵.它基本上只调用本机Javascript函数.我不确定为什么你在这种情况下坚持不使用jQuery. (4认同)
  • @japrescott,因为OP用jQuery标记了他的问题! (4认同)
  • 我会说jQuery的方式有点干净,但并不简单.它们都是一个衬里.jQuery对于这项任务来说太过分了.:) (4认同)
  • 如果问题要求 jquery,那么关于 JQuery v JS 的愚蠢讨论是无关紧要的。人们对 JS 做出各种更好的陈述,这完全是狂热的。从长远来看,客户得到的不是它是如何完成的。我已经看到在顶级 AAA 游戏中发布了完全垃圾代码,而惊人的优化代码被丢弃。忘记那些传福音的人——它的结果和解决方案很重要。这周不是你喜欢什么宠物最喜欢的东西。 (3认同)

Pet*_*son 7

是的,这很简单.只需在处理函数中使用submit[jQuery docs]方法click.

$("#myDiv").click(function() {
 $("#myForm").submit();
});
Run Code Online (Sandbox Code Playgroud)

如果您愿意,可以使用vanilla Javascript:

document.getElementById("myDiv").onclick = function() {
  document.getElementById("myForm").submit();
};
Run Code Online (Sandbox Code Playgroud)