【问题标题】:javascript to post form via buttons, one works one does notjavascript 通过按钮发布表单,一个有效,一个无效
【发布时间】:2017-10-17 09:41:36
【问题描述】:

我在 menuSubmit.js 中有以下内容

    function submitIndexList() {
        var key = document.getElementsByName("key").value;
        var page = document.getElementsByName("page").value;
        document.getElementById("listSelect").submit();
    }
    function submitIndexAbcd() {
        var key = document.getElementByName("key").value;
        var page = document.getElementsByName("page").value;
        document.getElementById("abcdSelect").submit();
    }

页面是:

    <form action="index.php" method="post" name="listSelect" id="listSelect">
        <input name="page" id="<?php echo($pagekey);?>" value="<?php echo($pagekey);?>" type="hidden" />
        <input name="key" id="list" value="list" type="hidden" />
        <input class="menubutton" type="button" value="Categories" onclick="submitIndexList()" />
    </form>
    <form action="index.php" method="post" name="abcdSelect" id="abcdSelect">
        <input name="page" id="<?php echo($pagekey);?>" value="<?php echo($pagekey);?>" type="hidden" />
        <input name="key" id="az" value="az" type="hidden" /> 
        <input class="menubutton" type="button" value="A to Z" onclick="submitIndexAbcd()" />
    </form>

更改侧面的索引以显示列表 a-z 或按类别,页面默认为 a-z。由于页面默认为 a-z 我单击类别按钮并刷新页面和 index.php 看到 key=list 并显示分类列表。 现在我尝试按 a-z 按钮返回,但我们不行了。

我尝试过使用

    <input name="keyCat" id="list" ... >
    <input name="keyAbc" id="az" ... >

根据需要更改 javascript 中的值,并添加一些内容以检查原始索引中的任一键..

    var keyCat = document.getElementsByName("keyCat").value;
    var keyAbc = document.getElementsByName("keyAbc").value;

我尝试在一个表单中执行两个按钮,单独的表单,我的键名称相同,名称不同.. 任何方式我切片它只有第一个按钮有效。我尝试使用相同的 onclick="function()" 运行两个按钮,所以我创建了第二个函数。什么都没有改变..我错过了什么?

【问题讨论】:

  • 您的keypage 变量的原因是什么?你不使用它们。您是否禁用了浏览器缓存?否则,它可能仍然是被执行的旧代码。
  • 您的输入名称在两种形式中具有相同的名称(键和页面)。因此,document.getElementsByName("key") 将返回一个值数组。您说您尝试更改名称,但是您是否已更改在表单之间保持相同的值或尝试根据表单放置不同的名称?
  • 老实说,我不知道..我最近开始接触简单的网络编码,其中很多对我来说仍然很陌生。我会说你的问题让我重新考虑我的情况。我没有变量了,一切正常。

标签: javascript forms post onclick


【解决方案1】:

将javascript更改为

    function submitIndexList() {
        document.listSelect.submit();
    }
    function submitIndexAbcd() {
        document.abcdSelect.submit();
    }

维护的html/php代码:

    <form action="index.php" method="post" name="listSelect" id="listSelect">
        <input name="page" id="<?php echo($pagekey);?>" value="<?php echo($pagekey);?>" type="hidden" />
        <input name="key" id="list" value="list" type="hidden" />
        <input class="menubutton" type="button" value="Categories" onclick="submitIndexList()" />
    </form>
    <form action="index.php" method="post" name="abcdSelect" id="abcdSelect">
        <input name="page" id="<?php echo($pagekey);?>" value="<?php echo($pagekey);?>" type="hidden" />
        <input name="key" id="az" value="az" type="hidden" /> 
        <input class="menubutton" type="button" value="A to Z" onclick="submitIndexAbcd()" />
    </form>

对不起,我是个菜鸟。在浪费大家时间之前,我应该使用更多资源。 我所希望的功能。

【讨论】:

  • 支持你自己修复它
猜你喜欢
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多