Я пытаюсь создать форму, где для каждой записи, которая не является пустой, должно быть вложение. Итак, когда поле имени заполнено, соответствующий входной файл должен быть необходим с помощью JQuery. Я использовал следующий код, но форма передается в любом виде.Входной файл требуется, если текстовое поле заполнено
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
//option A
$("#form").submit(function(e){
if($("#name").val() != ""){
$("#file").prop('required',true);
}
});
});
</script>
</head>
<body>
<form id="form" action="action.php">
<table border="1">
<tr>
<th>Name</th>
<th>ID</th>
<th>Attachment</th>
</tr>
<tr>
<th><input type="text" name="name" id="name"></th>
<th><input type="text" name="id" id="id"></th>
<th><input type="file" name="file" id="file" ></th>
</tr>
<tr>
<th><input type="text" name="name1" id="name1"></th>
<th><input type="text" name="id1" id="id1"></th>
<th><input type="file" name="file1" id="file1"></th>
</tr>
</table>
<input type="submit" >
</form>
</body>
</html>
Ваша функция проверяет поле имени только при отправке, которая является слишком поздней. Вы должны проверить использование другого события, например 'keyup' или' changed'. – dommmm
@dommmm Вместо этого я использовал change(), и он отлично работал. Большое спасибо. –