动态表单验证和TP框架里面的ajax
动态验证的操作方法
function yz() { if(empty($_POST)) { $this->display(); } else { $db=D("Info"); $shu=array( array("Code","require","代号不能为空",0,"regex",3), ); if(!$db->validate($shu)->create()) { echo $db->getError(); } else { echo"验证通过"; } } }
在框架里用ajax来实现输入代号显示姓名 打到模板是用上面的
function ming() { $code=$_POST["code"]; $db=D("Info"); $data=$db->find($code); $name=$data["name"]; $this->ajaxReturn($name,"eval"); }
表单
代号:<input id="zhi" type="text" name="Code" /> <input type="submit" value="验证" id="en" />
js代码
<script type="text/javascript"> $(document).ready(function(e){ $("#en").click(function(){ var code=$("#zhi").val(); $.ajax({ url:"__CONTROLLER__/ming", data:{code:code}, type:"POST", dataType:"TEXT", success: function(data){ alert(data); } }); }) $("#yz").blur(function(){ var code=$(this).val(); $.ajax({ url:"__CONTROLLER__/yan", data:{Code:code}, type:"POST", dataType:"TEXT", success: function(data){ if(data.trim() == "ok") { $("#xs").html("验证通过!"); $("#xs").css("color","green"); } else { $("#xs").html(data); $("#xs").css("color","red"); } } }); }) });
页面显示
用ajax使表单验证的错误信息直接在后面显示
function yan() { $db=D("Info"); $jieguo=""; $shu=array( array("Code","require","代号不能为空",0,"regex",3), ); if(!$db->validate($shu)->create()) { $jieguo= $db->getError(); } else { $jieguo="ok"; } $this->ajaxReturn($jieguo,"eval"); }
页面显示