У меня это в конце моей формы. Я предоставляю пользователю возможность перейти к другой форме или загрузить данные, находящиеся в текущей форме.
Моя проблема в том, что когда я тестировал в Chrome, IE, Safari, Android Internet. Все работает хорошо, когда вы выбираете любой вариант.
<form class="section4form" id="section4form" name="section4" action="" method="post" enctype="multipart/form-data">
<!-- Other sections of my form are here -->
<div class="myclass">
<select id="selector" name="selector">
<option value="">Please choose here to Finish Lead Gen or Continue to Section 5</option>
<option value="http://mydomain/lead5.php">Finish & Upload</option>
<option value="http://mydomain/lead4.php">Continue To Boiler Assessment</option>
</select>
</div>
<button type="submit" class="btn green" id="section4formsubmit" name="section4formsubmit" >Continue</button>
</form>
Это jquery, чтобы перейти с кодом внизу моей страницы формы
<script>
document.forms.section4.onsubmit = function (event) {
var e = event || window.event,
form = e.currentTarget || e.sourceElement;
e.preventDefault();
if (form.action === "") return false;
form.action = form.selector.value;
form.submit();
};
</script>
Мой контрольный файл js, который я добавляю для проверки формы
var LeadGen4 = function () {
var handleLeadGen4 = function () {
var form4 = $('#section4form');
var error4 = $('.alert-danger', form4);
var success4 = $('.alert-success', form4);
form4.validate({
errorElement: 'span', //default input error message container
errorClass: 'help-block', // default input error message class
focusInvalid: false, // do not focus the last invalid input
ignore: "",
rules: {
householdersigned: {
required: true
},
hasawgsigned: {
required: true
},
assessordeclaration: {
required: true
},
assessorname: {
minlength: 5,
required: true
},
typeofleadgen: {
required: true
}
},
invalidHandler: function (event, validator) { //display error alert on form submit
error4.show();
App.scrollTo(error4, -200);
},
highlight: function (element) { // hightlight error inputs
$(element)
.closest('.form-group').addClass('has-error'); // set error class to the control group
},
unhighlight: function (element) { // revert the change done by hightlight
$(element)
.closest('.form-group').removeClass('has-error'); // set error class to the control group
},
success: function (label) {
label
.closest('.form-group').removeClass('has-error'); // set success class to the control group
},
submitHandler: function (form) {
$('.section4formsubmit').html(data);
error4.hide();
}
});
}
return {
//main function to initiate the module
init: function () {
handleLeadGen4();
}
};
} ();
Моя проблема в том, что если у пользователя Firefox есть браузер, то этот код ниже ничего не делает. Независимо от того, какой вариант выбран, выбор не прогрессирует.
Прокомментируйте линию! Строка избыточна и не имеет смысла.
submitHandler: function (form) {
// >>>>>>>>> $('.section4formsubmit').html(data);
error4.hide();
}