【问题标题】:Referring to a value in a dropdown list in javascript在javascript中引用下拉列表中的值
【发布时间】:2011-11-29 18:13:58
【问题描述】:

我正在为我的表单建立验证。我已经使用以下代码覆盖了输入文本字段:

function validateForm_id()
{
var ctrl = document.forms["form1"]["id"];
var x=ctrl.value;
if (x==null || x=="") {
document.getElementById('id').style.backgroundColor="#FFD4D4";
document.getElementById("id").style.borderColor="#FF7A7A";
document.all.id.innerText = "password required";

我想验证我的选择下拉框中的值。值是:

-- 选择标题--
先生
夫人
女士

如果 -- Title -- 是框中的值,我希望用户不能提交。

如何引用上述代码的if (x==null || x=="") 中下拉框的第一个值?这是我的下拉列表:

<select name="title" onKeydown="Javascript: if (event.keyCode==13) post();" onFocus="validation_title()" onBlur="return validateForm_title()" id="title">
    <option>- Title -</option>
    <option value="1">Mr</option>
    <option value="2">Mrs</option>
    <option value="3">Ms</option>
    <option value="4">Other</option>
</select> <div align="center" id="title" style="font-size:small; color:#FF0000;"><script type="text/javascript">document.all.title.innerText = " ";</script></div>

【问题讨论】:

  • document.all?!我们不再是 1990 年代了 - 现在所有浏览器都支持document.getElementById;除此之外,您可能想看看 jQuery - 它更舒服。
  • 是的,对不起,我真的很讨厌 javascript,哈哈,但它的工作原理感谢您的提示
  • 那么你真的应该看看jQuery。这不仅具有为您节省一些麻烦的优点,而且在搜索 jQuery 代码时找到非常糟糕/旧示例的风险很低。顺便说一句,javascript: 不属于 onkeydown 等属性 - 它们总是包含 javascript,它不中断的唯一原因是xyz: 是一个标签,几乎是一个无操作。而且我很确定您的处理程序只能在 IE 中工作,因为其他浏览器不使用全局事件对象。

标签: javascript forms validation select


【解决方案1】:
var opts = yourSelectObj.options;

然后循环选项。

【讨论】:

    【解决方案2】:
    var select = document.getElementById('mySelectID');
    alert(select.options[0].value); //first option's value
    alert(select.value); // currently selected value
    

    获取选项的文本使用

    alert(select.options[select.selectedIndex].text);
    

    【讨论】:

      【解决方案3】:

      您可以使用&lt;select&gt;selectedIndex 属性来检查第一个索引是否从未被选中。

      if (ctrl.selectedIndex == 0) { alert('The Title field is required'); }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-28
        • 2019-05-02
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        • 2010-11-08
        • 1970-01-01
        相关资源
        最近更新 更多