采用ajax提交POST数据的例子

前端之家收集整理的这篇文章主要介绍了采用ajax提交POST数据的例子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

问题描述


我们将一个form中的input和checkBox中的数据异步提交到PHP服务器,经过处理之后传回。


提交之后显示的位置:



难点分析


采用from表单的onsubmit属性阻止表单的提交


  1. <formaction="http://www.baidu.com"onsubmit="returncheck()">

通过check函数的return false;操作阻止表单的提交,实现不刷新提交数据的目的。

获取复选框选中的选项的值


checkBox标签部分:

  1. <inputtype="checkBox"name="checkBox"id="multi-choiceA"value="A">选项A<br/>
  2. <inputtype="checkBox"name="checkBox"id="multi-choiceB"value="B">选项B<br/>
  3. <inputtype="checkBox"name="checkBox"id="multi-choiceC"value="C">选项C<br/>
  4. <inputtype="checkBox"name="checkBox"id="multi-choiceD"value="D">选项D<br/>


javascript处理部分:

  1. varstr=document.getElementsByName("checkBox");
  2. varanswer="";
  3. for(vari=0;i<str.length;i++)
  4. {
  5. if(str[i].checked==true)
  6. {
  7. answer+=str[i].value;
  8. }
  9. }
  10. if(answer=="")alert('请勾选答案,然后提交');
  11. else
  12. {//用户勾选了相关答案,进行相关处理
  13. varxmlhttp;

采用ajax技术与后台进行交互


  1. varxmlhttp;
  2. xmlhttp=newXMLHttpRequest();
  3. xmlhttp.open("POST","function.PHP",true);
  4. xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  5. xmlhttp.send("qid="+qid+"&answer="+answer);
  6. xmlhttp.onreadystatechange=function()
  7. {
  8. if(xmlhttp.readyState==4&&xmlhttp.status==200)
  9. {
  10. document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  11. }
  12. };

完整代码

前台index.html

  1. <!doctypehtml>
  2. <html>
  3. <head>
  4. <Metacharset="utf-8">
  5. <title>Koastal</title>
  6. </head>
  7. <body>
  8. <formaction="http://www.baidu.com"onsubmit="returncheck()">
  9. 问题序号:<inputtype="text"id="qid"><br/>
  10. 选项:<br/>
  11. <inputtype="checkBox"name="checkBox"id="multi-choiceA"value="A">选项A<br/>
  12. <inputtype="checkBox"name="checkBox"id="multi-choiceB"value="B">选项B<br/>
  13. <inputtype="checkBox"name="checkBox"id="multi-choiceC"value="C">选项C<br/>
  14. <inputtype="checkBox"name="checkBox"id="multi-choiceD"value="D">选项D<br/>
  15. <inputtype="submit"value="提交">
  16. </form>
  17. <divid="myDiv"></div>
  18. <scripttype="text/javascript">
  19. que="<?PHPecho$que;?>";
  20. answer="<?PHPecho$answer;?>";
  21. functioncheck()
  22. {
  23. varqid=document.getElementById("qid").value;
  24. varstr=document.getElementsByName("checkBox");
  25. varanswer="";
  26. for(vari=0;i<str.length;i++)
  27. {
  28. if(str[i].checked==true)
  29. {
  30. answer+=str[i].value;
  31. }
  32. }
  33. if(answer=="")alert('请勾选答案,然后提交');
  34. else
  35. {//用户勾选了相关答案,进行相关处理
  36. varxmlhttp;
  37. xmlhttp=newXMLHttpRequest();
  38. xmlhttp.open("POST",true);
  39. xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  40. xmlhttp.send("qid="+qid+"&answer="+answer);
  41. xmlhttp.onreadystatechange=function()
  42. {
  43. if(xmlhttp.readyState==4&&xmlhttp.status==200)
  44. {
  45. document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  46. }
  47. };
  48. }
  49. returnfalse;
  50. }
  51. </script>
  52. </body>
  53. </html>

后台function.PHP
  1. <!doctypehtml>
  2. <html>
  3. <head>
  4. <Metacharset="utf-8">
  5. <title>koastal</title>
  6. </head>
  7. <body>
  8. <?PHP
  9. $qid=intval($_POST["qid"]);
  10. $answer=trim($_POST["answer"]);
  11. echo"您提交的题目编号是".$qid.",答案是".$answer;
  12. ?>
  13. </form>
  14. </body>
  15. </html>

效果显示
原文链接:https://www.f2er.com/ajax/164157.html

猜你在找的Ajax相关文章