1

I have a div and into this I have 2 checkboxes and 2 inputs text but I want validate or check if all inputs are empty to display an alert or error and that fill at least one input (checkbox or text) because I don't do two validations: 1 for checkboxes and 2 for inputs text... exists any way to do this?

HTML

<div id="t_disp">
    <p>
        <label for="7x24">7x24</label>
        <input id="7x24" name="7x24" type="checkbox"/>
    </p>
    <p>
        <label for="5x8">5x8</label>
        <input id="5x8" name="5x8" type="checkbox"/>
    </p>
    <p>
        <label for="especial">Especial</label>
        <input id="especial" name="especial" type="text"/>
    </p>
    <p>
        <label for="ticket">Ticket</label>
        <input id="ticket" name="ticket" type="text"/>
    </p>
</div>

Thanks in advance!!

4

3 に答える 3

1

入力/チェックされた入力の数を取得するには:

var filled = $('#t_disp input').filter(function() { 
  return $(this).is('[type=checkbox]') ? this.checked : this.value;
}).length;

if ( filled ) {
   // at least one input is filled
} else {
   // all inputs are empty
}
于 2012-11-25T06:58:41.930 に答える
0

以下の機能を使用できます

function validate()
{

    var isFormValid = false;

        $("#t_disp input:text").each(function()
        {
      if ($.trim($(this).val()).length > 0)
           {      isFormValid = true;    }
        });

     var len =  $("#t_disp input:checked").length;
     if( len > 0 ) { isFormValid = true; }

        if (!isFormValid) 
        alert("Please fill atleast on one field.");

}
于 2012-11-25T07:28:08.690 に答える
0

テキスト入力の場合、値を確認できます。

$('#especial').val();
$('#ticket').val();

チェックボックスについては、チェックされているかどうかを確認できます。

$('#7x24').attr('checked'); // returns 'checked' if checked
$('#5x8').attr('checked');

次に、それらすべてを状態に貼り付けるだけです。それらがすべて空であるかチェックされていない場合は、エラーが表示されます。

PS私の経験id=では、数字で始まることはあまりうまくいきません。

于 2012-11-25T06:56:48.113 に答える