嗨,我正在尝试将“a”标签作为提交按钮使用。我在网上找到了一些代码。但是它没有起作用。
<a href="#" onclick="this.form.submit()">Submit</a>
是否有代码能够实现我的需求?
给表单加上一个id
,然后:
document.getElementById("yourFormId").submit();
最好的做法可能是给您的链接也加上一个id
,并且摆脱事件处理程序:
document.getElementById("yourLinkId").onclick = function() {
document.getElementById("yourFormId").submit();
}
试试这段代码:
<form id="myform">
<!-- form elements -->
<a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
但是禁用JavaScript的用户将无法提交表单,因此您可以添加以下代码:
<noscript>
<input type="submit" value="Submit form!" />
</noscript>
假设表单是直接的父元素,你可以这样做:
<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>
如果不能通过其他方式访问,你可以通过表单的名称属性来访问,如下所示:
<a href='#' onclick='document.forms["myform"].submit(); return false;'>submit</a>
可在此处查看两个示例:http://jsfiddle.net/WEZDC/1/
这是对@ComFreek答案的改进:
<form id="myform">
<!-- form elements -->
<a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>
所以,<a>
标签不会触发操作并重新加载您的页面。特别是如果您正在使用具有SPA框架的开发。
尝试以下类似的代码:
<a href="#" onclick="this.forms['formName'].submit()">Submit</a>
document.getElementById('myForm').action="javascript:function("+a+","+b+")";
你可以更改操作属性,并将一些变量作为函数的参数。在我看来,最简单的方法可能是这样的:
<?php>
echo '<a href="link.php?submit='.$value.'">Submit</a>';
</?>
在 "link.php" 中,您可以像这样请求值:
$_REQUEST['submit']