Проверить второе поле, если заполнено первое поле - PullRequest
0 голосов
/ 09 июня 2011

У меня есть браузер с 3 файлами и текстовое поле для метки для каждого типа ввода файла.

<label>Photo 1</label>
<input type="file" size="10" name="service_field[15]" id="15" class="{accept:'jpg|jpeg|png|gif|bmp|tif',messages:{accept:'Only jpg,jpeg,gif,png,bmp,tif files are allowed.'}} file">
<label>Photo 1 Title</label>
<input type="text" name="service_field[576]" id="576" class="txt" value="">

<label>Photo 2</label>
<input type="file" size="10" name="service_field[578]" id="578" class="{accept:'jpg|jpeg|png|gif|bmp|tif',messages:{accept:'Only jpg,jpeg,gif,png,bmp,tif files are allowed.'}} file">  
<label>Photo 2 Title</label>
<input type="text" name="service_field[577]" id="577" class="txt" value="">

<label>Photo 3</label>
<input type="file" size="10" name="service_field[579]" id="579"  class="{accept:'jpg|jpeg|png|gif|bmp|tif',messages:{accept:'Only jpg,jpeg,gif,png,bmp,tif files are allowed.'}} file" >    
<label>Photo 3 Title</label>
<input type="text" name="service_field[580]" id="580" class="txt" value="">

Я использую плагин проверки jquery с jquery.metadata.js.

Iнеобходимо проверить эти данные таким образом, если файл просматривается, тогда пользователь должен ввести метку для этого файла.

1 Ответ

0 голосов
/ 09 июня 2011

Вам нужно обернуть каждого из них div следующим образом:

<div>
   <label>Photo 1</label>
   <input type="file" size="10" name="service_field[15]" id="15" class="{accept:'jpg|jpeg|png|gif|bmp|tif',messages:{accept:'Only jpg,jpeg,gif,png,bmp,tif files are allowed.'}} file">
   <label>Photo 1 Title</label>
   <input type="text" name="service_field[576]" id="576" class="txt" value="">
</div>

Тогда вы можете сделать

$('.txt').siblings('[type=file]').bind('change blur',function(){//if it changes or loses focus
     if($(this).val().length){
          $(this).siblings('.txt').show();
     }else{
          $(this).siblings('.txt').show();
     }
})
.blur();//this is so it can be trigger every time you load the page,, comment out if you wish

Я должен был упомянуть ... Я не использовал эту проверку, так что дал вам альтернативу, которая делает то же самое:)

...