如果选择的值不是第一个值,如何自动提交下拉列表?

时间:2013-09-30 05:04:05

标签: javascript jquery html

当前代码:

<select name='PreviousReceiver' onchange='this.form.submit()'>
     <option value='0'>Contact List</option>
     <option value='1'>blah</option>
     <option value='2'>blah2</option>
     <option value='3'>blah3</option>
</select>

所以我有这个下拉框,当用户点击它时会自动提交。它的工作方式很好,但如果用户选择了第一个值,我不希望它提交。(见上文)。

换句话说,如果用户点击联系人列表,那么我不希望它提交表单。

我试过了:

 onchange="if(this.value != '0') this.form.submit()" 

但这只是让它永远不会激活。

有什么建议吗?

4 个答案:

答案 0 :(得分:10)

尝试不加引号并检查。

DEMO HERE

<form method="post">
    <select name='PreviousReceiver' onchange='if(this.value != 0) { this.form.submit(); }'>
         <option value='0'>Contact List</option>
         <option value='1'>blah</option>
         <option value='2'>blah2</option>
         <option value='3'>blah3</option>
    </select>
</form>

答案 1 :(得分:2)

尝试在更改时调用函数(使用jquery):

<select name='PreviousReceiver' onchange='DoSubmit(this);'>
 <option value='0'>Contact List</option>
 <option value='1'>blah</option>
 <option value='2'>blah2</option>
 <option value='3'>blah3</option>
 </select>

这是你的javascript函数:

function DoSubmit(sel)
{
     if(sel.val()!='0') this.form.submit();
}

答案 2 :(得分:0)

也许你想要这样的东西?

<select name='PreviousReceiver' onchange='this.form.submit()'>
  <option selected disabled>Contact List</option>
  <option value='1'>blah</option>
  <option value='2'>blah2</option>
  <option value='3'>blah3</option>
</select>

答案 3 :(得分:-1)

你必须写javascript关键字

HERE

 <form>
<select name='PreviousReceiver' onchange="javascript: if(this.value != '0') this.form.submit(); else alert('hello');" >
    <option value='0'>Contact List</option>
    <option value='1'>blah</option>
    <option value='2' selected>blah2</option>
    <option value='3'>blah3</option>
</select>
 </form>