问题描述
我们将一个form中的input和checkBox中的数据异步提交到PHP服务器,经过处理之后传回。
提交之后显示的位置:
难点分析
采用from表单的onsubmit属性阻止表单的提交
- <formaction="http://www.baidu.com"onsubmit="returncheck()">
通过check函数的return false;操作阻止表单的提交,实现不刷新提交数据的目的。
获取复选框选中的选项的值
javascript处理部分:
- varxmlhttp;
- xmlhttp=newXMLHttpRequest();
- xmlhttp.open("POST","function.PHP",true);
- xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
- xmlhttp.send("qid="+qid+"&answer="+answer);
- xmlhttp.onreadystatechange=function()
- {
- if(xmlhttp.readyState==4&&xmlhttp.status==200)
- {
- document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
- }
- };
完整代码
前台index.html
- <!doctypehtml>
- <html>
- <head>
- <Metacharset="utf-8">
- <title>Koastal</title>
- </head>
- <body>
- <formaction="http://www.baidu.com"onsubmit="returncheck()">
- 问题序号:<inputtype="text"id="qid"><br/>
- 选项:<br/>
- <inputtype="checkBox"name="checkBox"id="multi-choiceA"value="A">选项A<br/>
- <inputtype="checkBox"name="checkBox"id="multi-choiceB"value="B">选项B<br/>
- <inputtype="checkBox"name="checkBox"id="multi-choiceC"value="C">选项C<br/>
- <inputtype="checkBox"name="checkBox"id="multi-choiceD"value="D">选项D<br/>
- <inputtype="submit"value="提交">
- </form>
- <divid="myDiv"></div>
- <scripttype="text/javascript">
- que="<?PHPecho$que;?>";
- answer="<?PHPecho$answer;?>";
- functioncheck()
- {
- varqid=document.getElementById("qid").value;
- varstr=document.getElementsByName("checkBox");
- varanswer="";
- for(vari=0;i<str.length;i++)
- {
- if(str[i].checked==true)
- {
- answer+=str[i].value;
- }
- }
- if(answer=="")alert('请勾选答案,然后提交');
- else
- {//用户勾选了相关答案,进行相关处理
- varxmlhttp;
- xmlhttp=newXMLHttpRequest();
- xmlhttp.open("POST",true);
- xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
- xmlhttp.send("qid="+qid+"&answer="+answer);
- xmlhttp.onreadystatechange=function()
- {
- if(xmlhttp.readyState==4&&xmlhttp.status==200)
- {
- document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
- }
- };
- }
- returnfalse;
- }
- </script>
- </body>
- </html>
后台function.PHP