我有一个使用jQuery Validate的多页表单。jquery validate
在第1页上,我有一个选择下拉框,当有人选择某个东西时,它会为同一页上的其他输入字段加载规则。我的问题是,一旦用户提交并转到第2页,并决定他需要更改某些内容,他会回到第1页,并且某些规则未被应用,因此唯一的方法是重新选择选择重新申请这些JQuery验证规则..
我需要确保这些规则正在被重新应用在重新加载页面...
我希望这是有道理的,并希望有人有一个简单快捷的答案。
我有一个使用jQuery Validate的多页表单。jquery validate
在第1页上,我有一个选择下拉框,当有人选择某个东西时,它会为同一页上的其他输入字段加载规则。我的问题是,一旦用户提交并转到第2页,并决定他需要更改某些内容,他会回到第1页,并且某些规则未被应用,因此唯一的方法是重新选择选择重新申请这些JQuery验证规则..
我需要确保这些规则正在被重新应用在重新加载页面...
我希望这是有道理的,并希望有人有一个简单快捷的答案。
你可以在一个PHP会话保存所选的选项第2页:
session_start();
$_SESSION['yoursession'] = $_POST['option'];
在第1页添加,节省会议在JavaScript的变量。 使用json_encode()正确逃避它:
<script type="text/javascript">
<?php echo 'var option = "'.json_encode($_SESSION['yoursession']).'";';
</script>
所以,如果你去到会话设置与已第1页上选择的选项2页,如果你回到会话的内容保存在变量中。
ASP.NET MVC and partial client side validation
看看吧。
您可以通过编程方式调用$('#myform').validate()
和$('#myform').valid()
来确定表单是否有效并转到下一步。
$(".stepButton").live("click", function() {
if (isValid(this)) {
// code to proceed to next step
}
});
function isValid(el) {
var $thisform = $(el).parent().parent();
$thisform.validate();
return $thisform.valid();
}
您应使用2种形式,每种形式都有一个不同的id,并为每个形式声明一组验证规则。 尝试你的代码适应这种:
var validationRules1 = {
rules: {
...
},
messages: {
...
}
};
var validationRules2 = {
rules: {
...
},
messages: {
...
}
};
var form1 = $('#form1');
form1.submit(function() {
form.validate(validationRules1);
return form1.valid();
});
var form2 = $('#form2');
form2.submit(function() {
form.validate(validationRules2);
return form2.valid();
});
希望这有助于
需要一些代码....无论是使用cookie,或者使用GET属性的规则集存储? –