Javascript 使用所选选项重新提交表单

Javascript 使用所选选项重新提交表单,javascript,html,forms,Javascript,Html,Forms,我想知道在单击所选值selected=“selected”时是否可以提交表单(输入的下拉列表)。我似乎无法让它工作 我的代码: <form method="post" name='myform' id="box" action="javascript:alert('submitted')" onsubmit="if(this.f.value == -1){return false;}"> <fieldset class="box_fieldset">

我想知道在单击所选值
selected=“selected”
时是否可以提交表单(输入的下拉列表)。我似乎无法让它工作

我的代码:

<form method="post" name='myform' id="box" action="javascript:alert('submitted')" onsubmit="if(this.f.value == -1){return false;}">
        <fieldset class="box_fieldset">
            <select name="f" id="f3" onchange="if(this.options[this.selectedIndex].value != -1){ document.forms['myform'].submit() }">
                <option value="-1">-- select --</option>
                <option value="1" >one</option>
                <option value="2" selected="selected" >two</option>
                <option value="3" >three</option>
            </select>
        </fieldset>
</form>

--挑选--
一
二
三
与相应的

如您所见,无法“重新提交”选项2,因为它已被选中 (警报不会被触发)


有办法做到这一点吗?

好吧,使用另一个事件触发器

window.onload
应该适当


使用onchange事件时,无法处理默认值,如您选择的值(两个)

——选择--
一
二
三

一
二
三
函数(e){
var xml=new XMLHttpRequest();
open(“GET”,“”+this.value,false);
xml.send();
}

使用这样的技巧来处理您的请求

将默认值设为其他值,强制用户选择某个值?请记住,当某些内容发生更改时,您的表单应该提交某些内容。在这种情况下没有重新提交的正当理由。为什么不将其默认为
--选择--
选项?这就是它的用途。@Loïc因为我对下拉列表有一个特定的用途:它显示网站中的当前导航。由于网站中有多个级别(深度),用户可以通过重新提交所选值来提高一个级别。@Jean Paul如果是多深度网站中的当前导航,如果您已经在那里,重新加载当前导航是否有意义?@Jean Paul gotcha。另外,显然,
onclick
不被
元素所识别,lol和dang这一逻辑不存在,女士们先生们请阅读问题下面的评论。刷新不是一个选项。您可以使用onclick事件获取选项
<option value="-1" selected>-- select --</option>
            <option value="1" >one</option>
            <option value="2" >two</option>
            <option value="3" >three</option>
<html>
<head>
</head>
<body>
<select id="slct">
    <option value="1" onclick="clicked(this)">one</option>
    <option value="2" onclick="clicked(this)">two</option>
    <option value="3" onclick="clicked(this)">three</option>
</select>
<script>
    function clicked(e){
        var xml = new XMLHttpRequest();
        xml.open("GET",""+this.value,false);
        xml.send();
    }
</script>
</body>