JavaScript中的简单"select"验证不起作用



我被javascript简单的"select"验证卡住了。

问题是:当验证"select"时,在验证错误后不向用户显示选择选项

"select不允许用户在验证显示后选择选项"

HTML:

<div class="form-group">    
<label for="exampleInputArea">Area</label>
    <select style="color:#000 !important" class="form-control" id="exampleInputArea" placeholder="Select Month" name="exampleInputArea">
        <option value="" >--Select Area--</option>
        <option value="Area1">Area1</option>
        <option value="Area2">Area2</option>
        <option value="Area3">Area3</option>
    </select>
    <div style="color:red;" id="areaerror"></div>
</div>
<div class="form-group last">
    <button class="btn btn-lg btn-red mailbtn">Submit</button>
</div>

JS:

$('.mailbtn').live('click',function(){
area = $('#exampleInputArea').val();
if(area.lenght==0 || area=='')
        {
            $('#exampleInputArea').html('')
            $('#areaerror').text('Area is Required');
            return false;
        } else { 
            $('#areaerror').text('');
            return true;
        }
$.ajax({
        type: "POST",
        async : false,
        url: "mail.php",
        data: {area:area}
        })
        .done(function( msg ) {
        $('.mail_middle').html('');
        $('.mail_middle').html('We will call you to confirm your delivery address.<br/>Thank you.');
        return false;
        });
});

这是我的js小提琴链接:小提琴

请帮助我解决这个问题,因为这是浪费我的时间。

将您的代码更改为以下一个,FIDDLE

if (area.length == 0 || area == '') {
    $('#exampleInputArea').val('')
    $('#areaerror').text('Area is Required');
    return false;
} else {
    $('#areaerror').text('');
}

错误

  1. length而不是lenght
  2. 错误选择val('')而不是html(''),通过val('')它将选择您的值为空白,这是您的默认值,通过html('')它将取代html(即option)的选择空白。
  3. 在成功时不要返回它,因为你必须执行ajax功能,通过return true它将返回你的函数不执行ajax功能。

你的代码有一些错误:

$('.mailbtn').on('click',function(){    
    var area = $('#exampleInputArea').val();
    console.log(area);
    if(area.length==0 || area=='')
            {
                $('#areaerror').text('Area is Required');
                return false;
            } else { 
                $('#areaerror').text('');
                return true;
            }

所以最好使用我的代码,这里是更新后的小提琴:

http://jsfiddle.net/aelor/7zPgf/3/

这将只在任何区域被选中时发送ajax,否则它将简单地显示验证消息

试试这个 [http://jsfiddle.net/7zPgf/1/] [1] 现场直播不是一个好办法。试穿。

 [1]: http://jsfiddle.net/7zPgf/1/

最新更新