使用onsubmit事件触发ajax时返回值如何返回

php中文网
发布: 2016-06-13 11:05:55
原创
1193人浏览过

使用onsubmit事件触发ajax时返回值怎么返回
这个是表单

<br /><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br /><html xmlns="http://www.w3.org/1999/xhtml"><br /><head><br /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br /><title>无标题文档</title><br /><br /><br /></head><br /><br /><body><br /><br /><form action="abc.php" method="post" name="form" onSubmit="return check_form()"/><br />用户名<input type="text" name="username" id="username" /><br />验证码<input type="text" name="identifying_code" id="identifying_code"/><br /><input type="submit" name="login" value="登录"><br /></form><br /><div id="tishi"></div><br /><script language="javascript" src="js/xmlhttprequest.js"></script><br /><script language="javascript" src="js/js2.js"></script><br /></body><br /></html><br /><br />
登录后复制

这个是xmlhttprequest.js页面
<br />var xmlhttp = false;<br />if (window.XMLHttpRequest) { 									//Mozilla、Safari等浏览器<br />	xmlhttp=new XMLHttpRequest();<br />} <br />else if (window.ActiveXObject) { 								//IE浏览器<br />	try {<br />		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");<br />	} catch (e) {<br />		try {<br />			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");<br />	   } catch (e) {}<br />	}<br />}<br />
登录后复制


这个是js2.js页面里面有我标记的路线可以看到整个执行的过程。
<br />var flag;<br />function check_form(){<br />		<br />		    var username=document.getElementById('username').value;<br />			var identifying_code=document.getElementById('identifying_code').value;<br />			url='login_chk.php?username='+username+'&identifying_code='+identifying_code;<br />			alert('这里第1步');<br />			xmlhttp.open('get',url,true);<br />			alert('这里第2步');<br />			xmlhttp.onreadystatechange = function(){<br />				alert('这里第5步');<br />				if(xmlhttp.readyState == 4){<br />					alert('这里第6步');<br />					if(xmlhttp.status == 200){<br />						alert('这里第7步');<br />						msg = xmlhttp.responseText;<br />						alert('这里第8步');<br /><br />						if(msg==1){<br />							document.getElementById("tishi").innerHTML="<font color='#FF0000'>输入正确正在跳转</font>";	<br />							flag=true;<br /><br />						}<br />						else{<br />							document.getElementById("tishi").innerHTML="<font color='#FF0000'>用户名或者密码错误</font>";<br />							flag=false;<br />						}<br />						alert('这里第9步');<br />						<br />				    }<br />			    }<br />				<br />				//alert(flag);<br />			}<br />			xmlhttp.send(null);<br />			alert('这里第3步');<br />		<br />		<br />		if(flag==true){<br />		alert('这里是true');<br />		alert(flag);<br />		return true;<br />		}<br />		else {<br />		alert('这里第4步');<br />		alert(flag);<br />		return false;<br />		}<br /><br />}	<br />
登录后复制

这个是login_chk.php页面
<br /><?php<br />if(strcmp($_GET['username'],'abcd')==0&&strcmp($_GET['identifying_code'],'abcd')==0){<br />$msg=1;<br /><br />}<br />else{<br />	$msg=0;<br />	}<br /><br />echo $msg;<br /><br />?><br /><br />
登录后复制



最重要的是要取得check_form的返回值,才能决定表单是否能提交。求高手更改代码取到check_form的返回值
------解决方案--------------------
xmlhttp.open('get',url,true);
这是异步通讯,所以你要定义接受返回数据的回调函数
xmlhttp.onreadystatechange = function(){

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号