如何使用OnChange Javascript HTML验证表单

时间:2014-08-11 12:50:05

标签: javascript html forms onchange

我正在尝试使用OnChange对表单进行额外检查,因此如果文本在提交表单之前等于特定值,则会出现警告框。如果我删除If值,则会出现警告框,但如果该字段设置为“不再需要'

,则不会出现警告框
<script type="text/javascript">
/*<![CDATA[*/
function extracheck(s) {

if (s.value == "No Longer Required"){
alert("message here");
}
}

/*]]>*/
</script>

 <form id="form2" name="form2" method="post" action="returnprocess.asp" onSubmit="return     validateForm(this)">
  <select name="Reason1" class="textfieldmedium" id="Reason1" onchange="extracheck(this)">
                        <option selected="selected">Reason for Return</option>
                       <option>No Longer Required</option>
                        <option>Duplicated Order</option>
                        <option>Choice of Two</option>
                        <option>Incorrectly Supplied</option>
                        <option>Incorrect for Application</option>
                        <option>Incorrectly Packaged</option>
                        <option>Late Delivery</option>
                        <option>Incorrectly Picked</option>
                        <option>Never Ordered</option>
                        <option>Surcharge Unit</option>
                        <option>Damaged</option>
                        <option>Poor Fitment</option>
                          </select>
      </form>

为什么在存在IF语句时警报框不会出现?

2 个答案:

答案 0 :(得分:0)

你可以这样做:

function extracheck(s) {
    var e = document.getElementById("Reason1");
    if (e.options[e.selectedIndex].value == "No Longer Required") {
        alert("message here");
    }
}

演示:http://jsbin.com/lotebiho/1/

答案 1 :(得分:0)

警报即将到来,因为函数每次都在执行而不是在选择

试试这个,

<script>
    $(document).ready(function() {
        $("#Reason1").select(function() {
            if ($(".textfieldmedium").val() == "No Longer Required") {
                alert("Message here");
            }
        )};
    )};
</script>