我有一個使用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屬性的規則集存儲? –