jquery / ajax:执行函数前检查输入字段是否为空?

时间:2015-03-12 09:50:57

标签: jquery ajax

我有以下ajax / jquery脚本,它将数据传递给我的mysql查询并检查输入字段中的值是否与我的数据库中的值匹配。该函数工作正常,但是如果输入字段为空,我试图添加一个if语句来阻止函数运行?

我尝试过以下操作,这会导致输入字段的边框变为红色并阻止任何其他功能发生,但这不起作用,我的脚本已完全停止一起工作。请有人能告诉我我做错了什么吗?提前谢谢。

HTML:

<input type="text" id="promo" placeholder="Promotional Code" class="login_form2" /><div class="promo_check"></div>

脚本:

 <script type="text/javascript"> 
    $(document).ready(function() {
    $(document).on('click', '.promo_check', function() {
    var a = document.forms["request"]["promo"].value;
    if (a == null || a == ""  null) {
    if (a == null || a == "") { document.forms["request"]["promo"].style.borderColor = "#963634"; }
    return false;
    }else{
    var promo = $("#promo").val();
    $.ajax({
      type: "POST",
      url: "include/process_promo.php",
      data: {data:promo},
      success: function(data)
            {
            $(".form_error").show().html(data);
            }
    });

    });
    });
    </script>

2 个答案:

答案 0 :(得分:2)

试试这个:

<script type="text/javascript"> 
$(document).ready(function() {
$(document).on('click', '.promo_check', function() {


var promo = $("#promo").val();
if(prome == null || promo == "")
{
    $("#promo").css("border-color", "#963634");
   return false;
}

else
{
  $.ajax({
  type: "POST",
      url: "include/process_promo.php",
      data: {data:promo},
      success: function(data)
            {
            $(".form_error").show().html(data);
            }
    });
}


});
});
</script>

答案 1 :(得分:1)

我认为这应该适合你:

<script type="text/javascript"> 
        $(document).ready(function() {
        $(document).on('click', '.promo_check', function() {
            var promo = $("#promo").val();
            if (promo) {
        $.ajax({
          type: "POST",
          url: "include/process_promo.php",
          data: {data:promo},
          success: function(data)
                {
                $(".form_error").show().html(data);
                }

        });
       } 
       else {
         $('#promo').css('border','#963634');
       }

        });
        });
        </script>