我有这个在我的形式结束。I为用户提供了继续到另一个表单或上传当前表单上的数据的选项。
我的问题是,当我在Chrome, IE, Safari, Android互联网测试。当你选择其中一个选项时,一切都很好。
<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();
}