Validation JQuery Mobile更改后验证页面
我使用jquerymobile和一个改变服务器端的表单。我需要重新加载页面,以便页面上包含最新的表单。表单也需要验证 我可以让验证工作进行一次,但只有一次,直到提交。页面已成功刷新,表单出现,但验证已消失,如果我提交,则会执行标准提交,而不是更改页面 on pageinit似乎每次都在启动。这件事我一直很紧张。看起来这应该很简单Validation JQuery Mobile更改后验证页面,validation,jquery-mobile,reload,page-init,Validation,Jquery Mobile,Reload,Page Init,我使用jquerymobile和一个改变服务器端的表单。我需要重新加载页面,以便页面上包含最新的表单。表单也需要验证 我可以让验证工作进行一次,但只有一次,直到提交。页面已成功刷新,表单出现,但验证已消失,如果我提交,则会执行标准提交,而不是更改页面 on pageinit似乎每次都在启动。这件事我一直很紧张。看起来这应该很简单 <?php // session_start(); if (isset($_SESSION['mytest'])) $_SESSION['
<?php //
session_start();
if (isset($_SESSION['mytest']))
$_SESSION['mytest']++;
else
$_SESSION['mytest'] = 1;
$s = $_SESSION['mytest'];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>mytestout</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.js"> </script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"></script>
</head>
<body>
<div data-role="page" data-theme='b' id="testit" >
<div data-role="content" class="content" id="cart" style="margin-top: 25px; margin-left: 40px">
<p> counting session var = <?=$s?> </p>
<form id="myform">
<input type="text" name="myname">
<input type="submit">
</form>
</div>
</div>
<script>
function submitme(e) {
$.mobile.changePage( "#testit", { transition: "slideup", changeHash: false, reloadPage: true, allowSamePageTransition: true });
}
$(document).on('pageinit', function(){ //
$("#myform").validate( {
rules: {
myname: "required"
}
,submitHandler: function(e) { submitme(e);}
});
});
</script>
</body>
</html>
我的测试结果
计数会话变量=
功能提交人(e){
$.mobile.changePage(“#testit”,{transition:“slideup”,changeHash:false,reloadPage:true,allowSamePageTransition:true});
}
$(document).on('pageinit',function(){//
$(“#myform”)。验证({
规则:{
myname:“必需”
}
,submitHandler:function(e){submitme(e);}
});
});
这里的问题是“pageinit”事件,它每一页只运行一次()。您必须使用,它在每次显示页面时运行。这将再次初始化表单验证,使其在每次呈现表单时都有效。请注意,我还没有测试该解决方案