2016-03-22 4 views
0

У меня есть этот пример:Как проверить, завершен ли хотя бы один вход?

link

КОД HTML:

<form class="add-patient"> 
    <fieldset style="display: block;"> 
      <label for="new_exam">New exam</label> 
      <input type="text" name="new_exam" id="new_exam" value=""> 
    </fieldset> 
    <fieldset style="display: block;"> 
      <label for="x_ray">X ray</label> 
      <input type="text" name="x_ray" id="x_ray" value=""> 
    </fieldset> 
    <input type="button" class="btn btn-submit" onclick="sendForm();" value="Create report"> 
</form> 

КОД JS:

function sendForm() { 
     var status_form = false; 
     $(".add-patient input").each(function(){ 
      if($(this).val() == ""){ 
      status_form = true; 
      } 
     }); 
     console.log(status_form); 
     var createdBy = jQuery('#created_by').val(); 

     if(status_form) 
     { 
      alert('Fill at least one field'); 
     }else{ 
      alert("now it's ok"); 
     } 
} 

Я хочу сделать проверку ... если ввод завершен при отображении сообщения «i т; S нормально»... В противном случае отображения другого сообщения , вероятно, означает код ясно, что они хотят сделать.

Вы можете помочь мне с решением, пожалуйста?

Спасибо заранее!

+0

Увеличить счетчик, если 'значение ==«»' 'и если счетчик == число inputs' тогда .... – Rayon

+0

попробовать, проверяя, когда пользователь фокус из любого поля ввода может помочь –

+0

Покажешь мне короткого примера, пожалуйста, спасибо! –

ответ

3

.filter Используйте для получить длину входных элементов, имеющих значение в качестве ''

Попробуйте это:

function sendForm() { 
 
    var elem = $(".add-patient input[type='text']"); 
 
    var count = elem.filter(function() { 
 
    return !$(this).val(); 
 
    }).length; 
 
    if (count == elem.length) { 
 
    alert('Fill at least one field'); 
 
    } else { 
 
    alert("now it's ok"); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<form class="add-patient"> 
 
    <fieldset style="display: block;"> 
 
    <label for="new_exam">New exam</label> 
 
    <input type="text" name="new_exam" id="new_exam" value=""> 
 
    </fieldset> 
 
    <fieldset style="display: block;"> 
 
    <label for="x_ray">X ray</label> 
 
    <input type="text" name="x_ray" id="x_ray" value=""> 
 
    </fieldset> 
 
    <input type="button" class="btn btn-submit" onclick="sendForm();" value="Create report"> 
 
</form>