JavaScript在IE8和9中工作,但不在Chrome中



我有这个javaScript,以查看是否选择了下拉词。如果没有显示错误消息。问题是该代码在> IE9 8 中起作用,但在 Chrome

简单的解决方案是将" 必需"属性添加到标签中,但我想知道代码不起作用的原因。

<form name="form1" action="insert.php" method="post" onsubmit="return validateForm()">
<table name="table1">
     <tr>
        <td>
            <select name="fruits">
                <option selected disabled>Please Select</option>
                <option value="banana>banana</option>
                <option value="apple>apple</option>
            </select>
        </td>
    </tr>
</table>
<input type="submit" value="Submit"/>
</form>
<script type="text/javascript">
    function validateForm()
    {
    var x=document.forms["form1"]["fruits"].value;
    if (x==null || x=="")
      {
      alert("Please Select Fruit");
      return false;
      }
    }
</script>

请查看此代码,required是HTML5属性,默认情况下检查empty

<form name="form1" action="insert.php" method="post" onSubmit="return validateForm()">
    <table name="table1">
        <tr>
            <td>
                <select name="fruits">
                    <option value=" "  disabled>Please Select</option>
                    <option value="banana">banana</option>
                    <option value="apple">apple</option>
                </select>
            </td>
        </tr>
    </table>
    <input type="submit" value="Submit" />
</form>
<script>
    function validateForm() {
        var x = document.forms["form1"]["fruits"].value;
        if (x == null || x == " ") {
            alert("Please Select Fruit");
            return false;
        }
    }
</script>

演示:http://jsfiddle.net/2zggm/

最新更新