提交多个链接的Javascript表单

时间:2011-09-02 10:09:57

标签: javascript forms post hyperlink

我简化了这个问题的代码,但是在我的最终webapp中,页面上有大约100个表单,而不是这里的两个表单。我的问题是什么是让我的链接使用javascript提交表单的最佳方式。我现在拥有的东西显然不起作用,因为有多个字段叫做supporttype。什么是最好的方式来做我想做的大约100个表格。

<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function getsupport ( selectedtype )
{
  document.albumdl.supporttype.value = selectedtype ;
  document.albumdl.submit() ;
}
-->
</script>
</head>
<body>


<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" />
<a href="javascript:getsupport('form1')">Form1 </a>
</form>

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" />
<a href="javascript:getsupport('form2')">From2</a>
</form>





</body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以动态构建表单:

function getSupport (type) {
    var f = document.createElement('form'),
    input = document.createElement('input');
    f.setAttribute('action', 'processLinks.php');
    f.setAttribute('method', 'post');

    input.setAttribute('name', 'supporttype');
    input.value = type;

    f.appendChild(input);
    f.submit();
 }

答案 1 :(得分:0)

最简单的方法 - 将值form1和form2放入相应输入的值中:

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" value="form1" />
<a href="javascript:submitForm(this)">Form1 </a>
</form>

<form name="albumdl" method="post" action="processLinks.php">
<input type="hidden" name="supporttype" value="form2" />
<a href="javascript:submitForm(this)">From2</a>
</form>

然后编写通用JS来提交最接近点击链接的表单:

function getsupport ( link ) {
    var form = link.parentNode;
    while (form.tagName != "FORM") {
        form = form.parentNode;
    }
    form.submit();
}