【问题标题】:Submit form when selected value of select element is changed without javascript在没有javascript的情况下更改选择元素的选定值时提交表单
【发布时间】:2011-01-12 17:40:37
【问题描述】:

你好,这个问题很简单。

<select name="justanumber">
    <option value="1" selected="selected">1</option>
    <option value="2"></option>
</select>

更改所选值时,我必须执行表单帖子。 但问题是在没有 javascript 的情况下执行此操作。

我不确定是否可以这样做,我存档的最佳结果是使用标签提交表单。

【问题讨论】:

    标签: html post


    【解决方案1】:

    不,不使用客户端脚本是不可能的。

    我建议您使用脚本以使其正常工作,并为无法使用脚本的人提供提交按钮作为备份。

    【讨论】:

    • 我不能使用脚本。用于查看页面的应用程序不支持它。另一方面,如果所选值发生更改,我必须发布数据,因为页面将根据用户选择的内容进行更改。不幸的是,这不能使用超过一页来完成。
    • @Roman Kupin:那么您的要求和用户界面的功能之间存在差距。根本不可能完全按照你的意愿去做,所以你必须弄清楚你可以在需求中改变什么。
    【解决方案2】:

    不,此类事情没有自动提交属性 - 但是,有一种解决方法:

    CSS:

    #jsOn .Submit {
       display: none;
    }
    

    HTML:

    <form id="my_form" action="">
    <select id="justanumber" name="justanumber">
        <option value="1" selected="selected">1</option>
        <option value="2"></option>
    </select>
    <input type="submit" value="Go!" class="Submit" />
    </form>
    

    JavaScript:

    var visible_root = document.getElementsByTagName("body");
    while (visible_root.length < 1) {
        continue;
    }
    visible_root = visible_root[0];
    visible_root.id = "jsOn";
    document.getElementById("justanumber").onchange = function() {
        document.getElementById("my_form").submit();
    };
    

    当没有 JavaScript 的人到达您的网站时,他们会看到一个提交按钮。当启用 JavaScript 的人到达您的站点时,提交按钮将被隐藏,onchange 事件将被添加到 select 元素。 (或者,如果您有一个为您规范化所有事件的 JavaScript 库,您也可以添加一个事件侦听器。)

    【讨论】:

      【解决方案3】:

      我不相信没有 js 这是可能的。一个明显的方法是将提交按钮设置为选项的值(例如,&lt;option&gt;&lt;input type="submit"&gt;&lt;/option&gt;)。不幸的是,浏览器会咆哮和呻吟,将输入元素附加在选择元素之后。如果选择决定了应用流程,请考虑使用另一个 UI 元素(例如,按钮、链接等)。

      【讨论】:

      • 是的,它不受支持,您不能将 html 元素放入选项中。但是我认为可能有一些东西可以帮助发帖。喜欢 。但仍然无法弄清楚如何使用选择元素来做到这一点。
      • @Roman:你的建筑是为了什么浏览器/平台?您可以将
      • 此页面应该由 sciter (terrainformatica.com) 查看。您能否通过提交更详细地解释替换选项?
      【解决方案4】:

      这就是答案。 不幸的是,这是不可能的。

      【讨论】:

        【解决方案5】:
        <form action="aaa.php" method="post" name="autosubmit_select">
        <select name="justanumber" onChange="document.autosubmit_select.submit();">
            <option value="1" selected="selected">1</option>
            <option value="2"></option>
        </select>
        </form>
        

        【讨论】:

        • 添加一些描述,这段代码将做什么,以及使用它有什么好处。
        【解决方案6】:

        同意你必须为此使用 javascript

        请看这篇帖子How to submit form on change of dropdown list?

        如果您担心用户没有启用 javascript,那么我会建议您执行此操作的链接中的帖子中的给定示例

        &lt;noscript&gt;This form requires that you have javascript enabled to work properly please enable javascript in your browser.&lt;/noscript&gt;

        或者类似的东西

        除此之外(目前)不使用 javascript 是不可能做到这一点的

        【讨论】:

          【解决方案7】:

          在 JS 未启用时使用 submit_button 提交。 如果启用 JS,则使用 JavaScript 隐藏按钮。亚马逊就是这么做的!

          http://www.amazon.in/s/ref=nb_sb_ss_i_1_5?url=search-alias%3Delectronics&field-keywords=sd+card&sprefix=sd+ca%2Celectronics%2C401&crid=1M4KMJEGDLTEL

          禁用 JS 并查看 sortby 部分右上角。

          【讨论】:

            猜你喜欢
            • 2014-07-19
            • 2011-09-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-31
            • 1970-01-01
            • 2011-10-31
            相关资源
            最近更新 更多