【问题标题】:Submit form on change of dropdown only when special value is selected仅在选择特殊值时提交更改下拉列表的表单
【发布时间】:2013-11-06 17:40:27
【问题描述】:

我有一个包含几个选项的下拉列表(例如 7 个)。选择最后3个选项之一时,应提交表格。在前 4 个选项中,不应提交表单。

onChange="this.form.submit()" 没有帮助 - 每次更改都会提交表单...

有什么想法吗?

提前非常感谢

停顿

【问题讨论】:

  • 您需要在 onChange 中调用一个函数来查找您选择的值。

标签: javascript html forms select


【解决方案1】:

做...

onchange="checkVal();"

然后在你的 JS 中制作函数...

function checkVal{
    var e = document.getElementById("FORMID");
    var selectedVal = e.options[e.selectedIndex].value;
    if (selectedVal == val4 || selectedVal == val5 || selectedVal == val6){
         e.submit();
    }
}

如果您将选项设置为值 <option val="4">number 4</option>,这将起作用。否则,您必须使用 .text 而不是 .value 来获取 selectedVal,然后比较选项内的文本

【讨论】:

    【解决方案2】:

    很简单,检查选择元素的值,如果它是你想要的,然后告诉表单提交自己。

    这个演示http://jsfiddle.net/Q6FUM/

    var f = document.forms['mf'], s= document.getElementById('ss');
    
    s.onchange = function() {
        if (s.value==3) f.submit();
    }
    

    【讨论】:

      【解决方案3】:

      非常感谢。它适用于以下代码:

      function checkVal() {
        var f = document.getElementById("FORM-ID");
        var e = document.getElementById("SELECT-ID");
        var selectedVal = e.options[e.selectedIndex].value;
        if (selectedVal > 4) {
          f.submit();
        }
      }
      

      【讨论】:

      • 所以如果某物的值是 6 或 5,这将提交。
      猜你喜欢
      • 2021-08-30
      • 2016-03-31
      • 2013-04-13
      • 1970-01-01
      • 2012-10-31
      • 1970-01-01
      • 2011-10-21
      • 2014-04-27
      • 1970-01-01
      相关资源
      最近更新 更多