Как проверить, установлены ли свойства jQuery в JavaScript и PHP?
Прежде чем начать, позвольте мне пояснить, что я новичок в jQuery и JavaScript. Извините, если ответ очевиден. Хорошо, я пытаюсь создать страницу, на которой пользователь может выбирать даты и время, и хочу использовать JavaScript и PHP, чтобы убедиться, что пользователь не возвращает пустое поле (например, без даты или время установлено и клики отправляются). Я использую указатель даты jQuery и указатель времени от Джона Торнтона. Я успешно создал поля для отображения этого, но я не знаю, как правильно вызвать его в JavaScript и проверить. Вот мой код на данный момент:
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script type='text/javascript' src='../jQuery/jonthornton-jquery-timepicker-dbdea8e/jquery.timepicker.js'></script>
<link rel='stylesheet' href='../jQuery/jonthornton-jquery-timepicker-dbdea8e/jquery.timepicker.css'>
<script>
$( function() {
$( "#datepicker" ).datepicker({maxDate: "+2M", dateFormat: 'yy-mm-dd'});
} );
$(function(){
$('.scrollDefaultExample').timepicker({ 'scrollDefault': 'now' });
});
</script>
<script>
function validateForm() {
var date = document.forms["Time_Slot"]["datePick"].value;
var date2 = document.getElementById("datepicker");
var main_timeSlot = document.forms["Time_Slot"]["timeSlot"].value;
var add1 = document.forms["Time_Slot"]["additional_1"].value;
var add2 = document.forms["Time_Slot"]["additional_2"].value;
var add3 = document.forms["Time_Slot"]["additional_3"].value;
var add4 = document.forms["Time_Slot"]["additional_4"].value;
var add5 = document.forms["Time_Slot"]["additional_5"].value;
var add1Box = document.forms["Time_Slot"]["additional_1_box"].value;
var add2Box = document.forms["Time_Slot"]["additional_2_box"].value;
var add3Box = document.forms["Time_Slot"]["additional_3_box"].value;
var add4Box = document.forms["Time_Slot"]["additional_4_box"].value;
var add5Box = document.forms["Time_Slot"]["additional_5_box"].value;
alert("yolo");
console.log(date);
if (date2 == null || date == "" || date == " ") {
alert("A date must be chosen!");
return false;
}
else if (lname == null || lname == "" || lname == " ") {
alert("The last name field should be complete!");
return false;
}
else if (email == null || email == "" || email == " ") {
alert("The email field should be complete!");
return false;
}
else if (password == null || password == "" || password = " ") {
alert("A valid password must be entered! Note: it cannot contain just a space.");
return false;
}
}
</script>
<form name="Time_Slot" method="POST">
<fieldset>
<p>Date: <input type="text" id="datepicker" name="datePick"></p>
<p>Time: <input type="text" class="scrollDefaultExample" name="timeSlot"></p>
<br>
<label><input type="checkbox" name="additional_1" value="extra_1"> Additional Time Slot: <input type="text" class="scrollDefaultExample" name="additional_1_box"></label> <br><br>
<label><input type="checkbox" name="additional_2" value="extra_2"> Additional Time Slot: <input type="text" class="scrollDefaultExample" name="additional_2_box"></label> <br><br>
<label><input type="checkbox" name="additional_3" value="extra_3"> Additional Time Slot: <input type="text" class="scrollDefaultExample" name="additional_3_box"></label> <br><br>
<label><input type="checkbox" name="additional_4" value="extra_4"> Additional Time Slot: <input type="text" class="scrollDefaultExample" name="additional_4_box"></label> <br><br>
<label><input type="checkbox" name="additional_5" value="extra_5"> Additional Time Slot: <input type="text" class="scrollDefaultExample" name="additional_5_box"></label> <br><br>
<p><input type="submit" name="submit" value="Create Available Appointments" onclick="return validateForm()"></p>
</fieldset>
</form>
Когда я нажимаю на кнопку для отправки, меня не предупреждают, что дата не установлена. Буду признателен, если вы покажете мне дорогу. Заранее спасибо!
1 ответ
Чтобы пойти немного дальше, почему бы не реализовать jQueryValidate? ( https://jqueryvalidation.org/)
Это немного излишне для того, что вам нужно здесь. Поскольку вы реализуете другие функции проверки, стоит добавить, но просто добавив "требуется" в элемент ввода, он будет делать то, что вы просите - и когда вы начнете разрабатывать больше, вы действительно как дополнительные функции доступны.
<!-- include the validation script, from CDN or download -->
<script src=' http://ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js'></script>
<!-- On document ready, find hte form and add the validation function -->
<script>
$.ready(function() {
$('form[name="Time_Slot"]').validate();
});
</script>
<!-- In the input, add "required" -->
<input type="text" id="datepicker" name="datePick" required>
Код написан непроверенным, но этого должно быть достаточно для начала работы.