在没有javascript的情况下更改select元素的选定值时提交表单

时间:2011-01-12 17:40:37

标签: html post

嗨问题很简单。

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

当选择的值被更改时,我必须做一个表格发布。 但问题是在没有javascript的情况下这样做。

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

7 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:3)

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

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库可以为你规范化所有事件。)

答案 2 :(得分:1)

如果没有js,我不相信这是可能的。一种显而易见的方法是将提交按钮设置为选项的值(例如,<option><input type="submit"></option>)。不幸的是,浏览器会吠叫和呻吟,在select元素之后附加input元素。如果select确定应用程序流,请考虑使用另一个其他UI元素(例如,按钮,链接等)。

答案 3 :(得分:1)

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

答案 4 :(得分:0)

<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>

答案 5 :(得分:0)

同意你必须使用javascript来实现这个

请参阅此帖子How to submit form on change of dropdown list?

如果您担心用户没有启用javascript,那么我会建议您在链接中的帖子中给出示例

<noscript>This form requires that you have javascript enabled to work properly please enable javascript in your browser.</noscript>

或沿着这些方向的东西

除此之外,不使用javascript

是不可能(目前)这样做的

答案 6 :(得分:0)

在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部分。