|
|
 |
网络编程 |
| jquery form $.post提交的一些问题 |
| 来源:夏日博客 点击次数:
发布时间:2013-01-15 22:15:18 |
对应js处理页面: /** * */ $(function() {//加载完后处理页面 //alert($("#faceimg").attr("src")) ; $("#faceimg").click(function(){ window.open('face.php','face','width=400,height=400,top=0,left=0,scrollbars=1'); });
$("#mycheckcode").click( function(){ var url="includes/code.php?aa="+Math.random(); $("#mycheckcode").attr("src",url);
} ); /*** //输入的每个值都要以post的方法放到data里面 var adata=''; $("input").each( function(){ adata+=$(this).attr('name')+"="+$(this).val()+"&"; } );
$.ajax({ type: "POST",//提交的方式 url: "registerProcess.php",//提交对应的页面 dataType: "json",//返回的是什么格式 data:adata,//post过去的data fail:function(msg){ //失败处理函数 }, success:function(){ //成功处理函数
} }); **/ //作验证 //如果是必填的,则加红星标识. $("form :input.required").each(function(){ var $required = $("<strong class='high'> *</strong>"); //创建元素 $(this).parent().append($required); //然后将它追加到文档中 }); //文本框失去焦点后 $('form :input').blur(function(){ var $parent = $(this).parent(); $parent.find(".formtips").remove(); //验证用户名 if( $(this).is('#username') ){ if( this.value=="" || this.value.length < 6 ){ var errorMsg = '请输入至少6位的用户名.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var username = {"username":$(this).val()}; //json格式传过处理页面 var changeurl = "action/UserAction.php?act=IsExistUserName&flg=ling"; //用Post的方式 提交过去,验证用户名是否存在 $.post(changeurl,username,function(res){//成功返回值 if(res==1){ var errorMsg ="用户名好受欢迎哦,再试下其他的吧"; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg ="用户名可用."; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } }); }
} //验证密码长度 if($(this).is("#password")){ if(this.value==""||this.value.length<2){ var errorMsg = '请输入至少2个字符的密码.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); }
} //验证两次密码是否一致 if($(this).is('#repassword')){ if(this.value==""||this.value.length<2){ var errorMsg = '请输入至少2个字符的密码.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var password=$("#password").val();//取到密码的值 if(this.value!=password){ var errorMsg = '两次密码输入不一致.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } } }
//密码问题和密码提示要至少2个字符 if($(this).is("#passtips")||$(this).is("#passans")){ if( this.value=="" || this.value.length < 6 ){ var errorMsg = '请输入至少2位.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } }
//验证邮件 if( $(this).is('#email') ){ if( this.value=="" || ( this.value!="" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value) ) ){ var errorMsg = '请输入正确的E-Mail地址.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>'); }else{ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); } }
//验证qq var qq=/[1-9][0-9]{4,}/ ; if($(this).is("#qq")){ if(qq.test(this.value) ){ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); }else{ var errorMsg = '请输入正确的QQ.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
} } //验证地址 var url=/^https?:\/\/(\w+\.)?[\w\-\.]+(\.\w+)+$/ ; if($(this).is("#url")){ if(url.test(this.value) ){ var okMsg = '输入正确.'; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>'); }else{ var errorMsg = '请输入正确的地址格式.'; $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
} } if($(this).is("#code")){ var url="includes/getSession.php"; $.post(url, {'sessionName':this.name,'value':this.value},function(res){ if(res==1){ var okMsg ="输入正确"; $parent.append('<span class="formtips onSuccess">'+okMsg+'</span>');
}else{ var errorMsg ="验证码不正确"; $parent.append('<span class="formtips onError">'+errorMsg+'</span>');
} });
} }).focus(function(){//重新操作时重新赋值事件 $(this).triggerHandler("blur");//绑定处理事件 }); /**这部分个人感觉有点多了 .keyup(function(){ $(this).triggerHandler("blur"); }).focus(function(){ $(this).triggerHandler("blur"); });**///end blur
//提交,最终验证。 $('#send').click(function(){ $("form:input.required").trigger('blur'); var numError = $('form .onError').length; if(numError){ return false; } var url="registerProcess.php"; //var data={'username':$("#username").val(),'password':$("#password").val(),'repassword':$("#repassword").val(),'passtips':$('#passtips').val(),'passans':$("#passans").val(), // 'email':$("#email").val(),'qq':$("#qq").val(),'sex':$(":input[name='sex'][checked]").val(),'url':$("#url"),'faceimg':$("#faceimg").attr("src")};
$.post(url,$("#myform").serialize(),function(res){ if(res==1){ alert("注册成功,请进入登录界面"); }else{ alert("没有成功"); }
});
});
//重置 $('#res').click(function(){ $(".formtips").remove(); });
});
而处理form表单处理页面registerProcess.php <?php //处理register过来的内容
if(!defined('IN_TG')){ exit('Access Defined'); } //唯一标识 md5(uniqid(rand(),true));32位 更历害的可以是40位的 sha1(uniqid(rand(),true)); require_once ROOT_PATH.'includes/common.inc.php'; require_once ROOT_PATH.'model/userservice.class.php'; $hCon=new stdClass();//设置一个对象 $hCon->uniqid=$_SESSION['uniqid']; $hCon->active=$_SESSION['active']; $hCon->username=trim($_POST['username']);//去掉空格 $hCon->password=md5($_POST['password']);//密码加密 $hCon->repassword=md5($_POST['repassword']); $hCon->question=_mysql_string($_POST['passtips']);//去掉转义字符 $hCon->answer=_mysql_string($_POST['passans']); $hCon->sex=_mysql_string($_POST['sex']); $hCon->face=_mysql_string($_POST['faceimg']); $hCon->qq=$_POST['qq']; $hCon->url=_mysql_string($_POST['url']); $hCon->email=_mysql_string($_POST['email']); session_start(); if($hCon->uniqid!=$_SESSION['uniqid']){ _alert_back("防止恶意提交表单"); } $userservice=new CUserService(); $res=$userservice->addUser($hCon); print $res; |
|
|