说我有:
<form method="get" action="something.php">
<input type="text" name="name" />
</form>
<input type="submit" />
我如何在表单外提交那个提交按钮,我认为在HTML5中有一个提交的动作属性,但我不确定这是否完全跨浏览器,如果不是的话,有没有办法这样做?
说我有:
<form method="get" action="something.php">
<input type="text" name="name" />
</form>
<input type="submit" />
我如何在表单外提交那个提交按钮,我认为在HTML5中有一个提交的动作属性,但我不确定这是否完全跨浏览器,如果不是的话,有没有办法这样做?
当前回答
<form method="get" id="form1" action="something.php">
</form>
<!-- External button-->
<button type="submit" form="form1">Click me!</button>
这对我来说很有用,为表单设置一个远程提交按钮。
其他回答
更新:在现代浏览器中,您可以使用form属性来完成此操作。
据我所知,你不能没有javascript做到这一点。
这是说明书上说的
用于创建控件的元素通常出现在FORM内部 元素,但也可以出现在FORM元素声明之外 当它们被用于构建用户界面时。这在 内在事件部分。注意,窗体外部的控件不能这样做 成功控制。
这是我的粗体
提交按钮被认为是一个控件。
http://www.w3.org/TR/html4/interact/forms.html#h-17.2.1
从评论中
我有一个多选项卡设置区域的按钮更新所有,到期 根据它的设计,按钮将在窗体之外。
为什么不把输入放在表单内部,而是使用CSS将其定位到页面的其他地方呢?
试试这个:
<input type="submit" onclick="document.forms[0].submit();" />
尽管我建议在表单中添加一个id,并通过它来访问,而不是document.forms[index]。
你的<按钮>将需要有这2个属性:type="submit"和form="form_id"如果它在表单之外。例子:
<form id="my-form">
...
</form>
<button type="submit" form="my-form">
Submit
</button>
此外,<button>元素还可以具有formmethod和formaction属性,分别覆盖表单的方法和动作。例子:
<button type="submit" form="my-form" formmethod="post" formaction="/something.php">
Submit
</button>
下面是<button>元素所有可用属性的引用:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
我使用这种方式,并喜欢它,它在提交之前验证表单也兼容safari/谷歌。没有jquery n.n。
<module-body>
<form id="testform" method="post">
<label>Input Title</label>
<input name="named1" placeholder="Placeholder" title="Please enter only alphanumeric characters." required="required" pattern="[A-Za-z0-9]{1,20}" />
<alert>No Alerts!</alert>
<label>Input Title</label>
<input placeholder="Placeholder" title="Please enter only alphanumeric characters." required="required" pattern="[A-Za-z0-9]{1,20}" />
<alert>No Alerts!</alert>
<label>Input Title</label>
<input placeholder="Placeholder" title="Please enter only alphanumeric characters." required="required" pattern="[A-Za-z0-9]{1,20}" />
<alert>No Alerts!</alert>
</form>
</module-body>
<module-footer>
<input type="button" onclick='if (document.querySelector("#testform").reportValidity()) { document.querySelector("#testform").submit(); }' value="Submit">
<input type="button" value="Reset">
</module-footer>
我有一个问题,我试图从表格单元格元素隐藏表单,但仍然显示表单提交按钮。 问题是表单元素仍然占用了额外的空白空间,使得表格单元格的格式看起来很奇怪。 display:none和visibility:hidden属性不起作用,因为它也会隐藏提交按钮,因为它包含在我试图隐藏的表单中。 简单的答案是使用CSS将表单高度设置为几乎为零
So,
CSS—
#formID {height:4px;}
为我工作。