簡體   English   中英

需要幫助選擇jquery中沒有值的輸入字段

[英]Need help selecting input fields with no value in jquery

我正在嘗試編寫一個腳本,檢查任何輸入字段是否沒有值,並且在執行該腳本時需要顯示警報消息並返回false。

下面的輸入字段只是我的真實應用程序的一個小示例。 可能已經有5個以上輸入值已經在其中的輸入字段,以及1個或多個其中沒有值的輸入字段

沒有值的輸入字段僅是從ajax帖子返回了數據(html代碼)的字段

問題在於,當輸入字段之一沒有值時,腳本不會顯示警報消息。 (帶有ajax的返回數據)

任何幫助將非常感激。

下面是我正在使用的代碼。

HTML代碼

<input type='text' class='option_category' name='option_category_config[35196][option_cat_name]' value='Size of Neapolitan' >

<input type='text' class='option_category' name='option_category_config[35197][option_cat_name]' value='Choice of Whole Pizza Toppings' >


//Empty input field. This is not even shown on the HTML source code. I needed to copy and paste it from firebug. I am not sure if that is the reason it doesn't return false

<input class="option_category" type="text" placeholder="Enter category name" value="" name="option_category_config[35236][option_cat_name]">

jQuery代碼

 var option_cat = $('.option_category[name*="option_category_config"]');

$('input[name="update_menu_options"]').on('click', function(){



        option_cat.each(function(){

      var check_val =  $(this).val();
      console.log(check_val);
        if(!check_val){
           alert('there are missing input(s)');
           return false;
           }


        });



              return false;

        });

奇怪-使用您提供的代碼,我看到了預期的行為: http : //jsfiddle.net/DuncanMack/33bwdLqm/

如果項目是動態加載的,請確保已重新計算option_cat的值。 沒有完整的代碼,我不能確定,但​​這聽起來像是您在document.ready()上運行它(僅計算已存在的項目),然后動態加載其他輸入值。 修復起來很容易-只需移動var option_cat = $('.option_category[name*="option_category_config"]'); 進入onClick事件。

您正在使用布爾比較,該布爾比較可能提供不一致的結果,例如,即使從技術上講,有一個值,但輸入0將返回false。 更改代碼的這一部分:

if(check_val.length == 0){
    alert('there are missing input(s)');
    return false;
}

這是答案: 空輸入字段的javascript驗證

<script type="text/javascript">
function validateForm()
{
var a=document.forms["Form"]["ans_a"].value;
var b=document.forms["Form"]["ans_b"].value;
var c=document.forms["Form"]["ans_c"].value;
var d=document.forms["Form"]["ans_d"].value;
if (a==null || a=="",b==null || b=="",c==null || c=="",d==null || d=="")
  {
  alert("Please Fill All Required Field");
  return false;
  }
}

<form method="post" name="Form" onsubmit="return validate()" action="">
<textarea cols="30" rows="2" name="ans_a" id="a">
<textarea cols="30" rows="2" name="ans_b" id="b">
<textarea cols="30" rows="2" name="ans_c" id="c">
<textarea cols="30" rows="2" name="ans_d" id="d"></textarea>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM