可能的Javascript从多个等名输入中提交一个值?

时间:2011-09-12 20:48:37

标签: javascript

此代码有两个名称相同但值不同的链接。如果我点击第一个链接,我想得到价值10.是否可以使用链接提交()的JavaScript?

    <form name="listpages" action="page.php" method="post">

    <input type="hidden" name="pgnum" value="10">
    <a href="javascript: document.listpages.submit()"></a> 
    <input type="hidden" name="pgnum" value="20">
    <a href="javascript: document.listpages.submit()"></a>  

    </form>

提前致谢

3 个答案:

答案 0 :(得分:2)

没有。但是您可以使用此代码来实现所需的结果。:

<form name="listpages" action="page.php" method="post">
  <input type="submit" name="pgnum" value="10">
  <input type="submit" name="pgnum" value="20">
</form>

修改

JavaScript方式。我不明白你为什么要坚持使用JS。当用户禁用JavaScript时(例如,使用NoScript),您的代码将被破坏;

<form name="listpages" action="page.php" method="post">
    <input type="hidden" id="pgnum1" value="10">
    <a href="javascript:document.getElementById('pgnum1').name='pgnum';document.listpages.submit()">Option 1</a> 
    <input type="hidden" id="pgnum2" value="20">
    <a href="javascript:document.getElementById('pgnum2').name='pgnum';document.listpages.submit()">Option 2</a>  
</form>

答案 1 :(得分:0)

为什么不使用单个隐藏输入并通过超链接设置它的值:

<form name="listpages" action="page.php" method="post">

<input type="hidden" name="pgnum" value="10">
<a href="#" onclick="document.listpages.pgnum.value = 10; document.listpages.submit(); ">10</a>
<a href="#" onclick="document.listpages.pgnum.value = 20; document.listpages.submit(); ">20</a>  

</form>

答案 2 :(得分:0)

您可以使用单个表单并将其与某些javascript代码结合使用,以使用相应的页码提交表单:

<form name="listpages" action="page.php" method="post">
    <input type="hidden" name="pgnum" value="1">
</form>

<script type="text/javascript">
    function submitPageForm(pageNo) {
        var form = document.forms.namedItem("listpages");
        form.elements.namedItem("pgnum").value = pageNo;
        form.submit();
    }
</script>

<a href="javascript: submitPageForm(20);"></a>
<a href="javascript: submitPageForm(30);"></a>
...

但请注意,对于网站,实际上建议使用 GET 参数来切换页面,内容项等。

以下是在 GET POST 之间进行选择的非常好的指南:http://www.w3.org/2001/tag/doc/whenToUseGet.html

最后,如果您决定切换到GET,则根本不需要表单。即你可以简单地写一下:

<a href="page.php?pgnum=20"></a>
<a href="page.php?pgnum=30"></a>
...