Я использую JQuery Validate, и это делает самую странную вещь в Safari.Если я ничего не выбираю, это дает мне правильное сообщение об ошибке.Но как только я выполняю требования к форме и нажимаю «Отправить», она просто обновляет страницу, а не отправляет форму.Сообщение консоли «ничего не выбрано, не может быть проверено, ничего не возвращается».
Это мой скрипт проверки:
$(document).ready(function() {
/* ------------
FORM #STORY1
------------ */
$('#class').focus(function(){
$('#alum').attr('checked',true);
});
$('#college').focus(function(){
$('#transfer').attr('checked',true);
});
/* The validation script */
$("#story1").submit(function(){ return false; });
// Turn our validator into a function
var story1Validate = function(form){
$(form).find('div#err_msg').hide();
$(form).find('#submitBtn').removeAttr('disabled');
$(form).validate({
debug:false,
submitHandler: function(form) {
$('#submitBtn').attr('disabled','disabled');
$('#submitBtn').hide();
$('#process').show();
$('#recaptcha_widget_div').hide();
form.submit();
},
errorContainer: $(form).find('div#err_msg'),
errorPlacement: function(error, element) {
$(form).find('div#err_msg').show();
error.appendTo(form+' div#err_msg');
},
rules: {
type: "required",
class: {
required: "#alum:checked"
},
college: {
required: "#transfer:checked"
}
},//rules
messages: {
type: "Please make a selection.",
class: {
required:"You indicated that you're an alum. Please enter the year you graduated."
},
college: {
required:"You indicated that you're a transfer student. Please enter the name of the school to which you transferred."
}
}//messages
});//form validate
}//customValidation function
// Attach our custom form function to the form
story1Validate("#story1");
});
И это HTML-код сопровождающей формы:
<form id="story1" name="story1" method="post" action="your-story/index.php" class="form-intro">
<h3>I am a...</h3>
<p>
<input name="type" type="radio" class="input-radio" id="alum" value="alum" /> <label for="alum">Alum, class of</label><br />
<input name="class" type="text" class="input-txt" id="class" value="" />
</p>
<p>
<input name="type" type="radio" class="input-radio" id="transfer" value="transfer" /> <label for="transfer">Transfer student to</label><br />
<input name="college" type="text" class="input-txt" id="college" value="" />
</p>
<p>
<input name="type" type="radio" class="input-radio" id="student" value="student" /> <label for="student">Current student</label>
</p>
<p>
<input name="type" type="radio" class="input-radio" id="staff" value="staff" /> <label for="staff">Professor or staff member</label>
</p>
<p>
<input name="type" type="radio" class="input-radio" id="" value="other" /> <label for="other">None of the above</label>
</p>
<div id="err_msg">
</div>
<footer class="form-nav">
<input name="submitBtn" type="submit" class="input-btn" id="submitBtn" value="Next >" />
</footer>
</form>
Я видел, как это происходит в Safari (как на Mac, так и на ПК), и иногда, когда я отправляю форму, нажимаю кнопку «Назад» в Firefox.Кажется, в IE тоже нормально работает.
Есть идеи ??Это сводит меня с ума!