我要提交表格。但我不打算使用输入按钮,提交类型的基本方式,但一个一个链接。
下图显示了原因。我正在使用图像链接来保存/提交表单。因为我有用于图像链接的标准CSS标记,所以我不想使用输入提交按钮。
我尝试将onClick =“ document.formName.submit()”应用于a元素,但我更喜欢html方法。
有任何想法吗?
我要提交表格。但我不打算使用输入按钮,提交类型的基本方式,但一个一个链接。
下图显示了原因。我正在使用图像链接来保存/提交表单。因为我有用于图像链接的标准CSS标记,所以我不想使用输入提交按钮。
我尝试将onClick =“ document.formName.submit()”应用于a元素,但我更喜欢html方法。
有任何想法吗?
Answers:
两种方式。创建一个按钮并设置其样式,使其看起来像具有CSS的链接,或者创建一个链接并使用onclick="this.closest('form').submit();return false;"
。
form.submit()
没有JavaScript就无法使用
input[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
以及<input type=submit class="link" />
据我所知,没有某种形式的脚本,您就无法做到这一点。
<form id="my_form">
<!-- Your Form -->
<a href="javascript:{}" onclick="document.getElementById('my_form').submit(); return false;">submit</a>
</form>
这里的例子。
只是这样的样式input type="submit"
对我有用:
.link-button {
background: none;
border: none;
color: #0066ff;
text-decoration: underline;
cursor: pointer;
}
<input type="submit" class="link-button" />
在Chrome,IE 7-9,Firefox中测试
input
使用CSS选择器选择适当的元素,而不必将类附加到HTML元素。
您正在使用图像进行提交..因此,您只需使用type="image"
输入“按钮”即可:
<input type="image" src="yourimage.png" name="yourinputname" value="yourinputvalue" />
<button>
元素的<img/>
元素。
绝对不能使用纯HTML提交带有链接的表单(a
)标记。标准HTML仅接受按钮或图像。正如其他协作者所说的那样,可以使用按钮来模拟链接的外观,但是我想这并不是问题的目的。
恕我直言,我认为建议和接受的解决方案不起作用。
我已经在表单上对其进行了测试,浏览器没有找到对该表单的引用。
因此,可以使用JavaScript的单行代码使用this
object 来解决该问题,该object引用了被单击的元素,该元素是表单的子节点,需要提交。this.parentNode
表单节点也是如此。之后,仅以submit()
该形式调用方法。无需对整个文档进行研究就可以找到正确的格式。
<form action="http://www.greatsolutions.com.br/indexint.htm"
method="get">
<h3> Enter your name</h3>
First Name <input type="text" name="fname" size="30"><br>
Last Name <input type="text" name="lname" size="30"><br>
<a href="#" onclick="this.parentNode.submit();"> Submit here</a>
</form>
假设我输入自己的名字:
我使用get
了form method属性,因为提交后可以在加载页面的URL中看到正确的参数。
http://www.greatsolutions.com.br/indexint.htm?fname=Paulo&lname=Buchsbaum
显然,该解决方案适用于任何接受onclick
事件或类似事件的标签。
this
是与可直接使用或作为参数传递给函数的event
变量(在所有主要浏览器和IE9及更高版本中可用)一起恢复上下文的绝佳选择。
在这种情况a
下,请使用属性target
,将标记行替换为下面的行,该属性指示已开始事件的元素。
<a href="#" onclick="event.target.parentNode.submit();"> Submit here</a>
Stackoverflow
。我希望您的更正可以帮助我改善自己的风格。我的英语也不好。