Javascript 提交由ajax调用创建的ajax表单
三页 Test5.php <html> <head> <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } fst = document.form1.first.value ; sec = document.form1.second.value ; params = "first=" + encodeURI(fst) + "&second=" + encodeURI(sec) ; xmlhttp.open("POST","testproc2.php",true) ; xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded") ; xmlhttp.setRequestHeader("Content-length", params.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(params); } function changeInnerDiv() { alert("In changeInnerDiv") ; var xmlhttp ; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } fst = document.form1.first.value ; sec = document.form1.second.value ; params = "first=" + encodeURI(fst) + "&second=" + encodeURI(sec) ; xmlhttp.open("POST","testproc3.php",true) ; xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded") ; xmlhttp.setRequestHeader("Content-length", params.length); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(params); } </head> <body> This text should remain staticJavascript 提交由ajax调用创建的ajax表单,javascript,php,html,ajax,Javascript,Php,Html,Ajax,三页 Test5.php <html> <head> <script> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new
<hr> <div id="myDiv"> <?php echo "<form name=\"form1\"> " ; echo "First: <input type=\"text\" name=\"first\">
" ; echo "Second: <input type=\"text\" name=\"second\">
" ; echo " </form> " ; ?> <button type="button" onclick="loadXMLDoc()">Change Content</button> </div> </body> </html> 函数loadXMLDoc() { var-xmlhttp; if(window.XMLHttpRequest) {//IE7+、Firefox、Chrome、Opera、Safari的代码 xmlhttp=新的XMLHttpRequest(); } xmlhttp.onreadystatechange=函数() { if(xmlhttp.readyState==4&&xmlhttp.status==200) { document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText; } } fst=document.form1.first.value; sec=document.form1.second.value; params=“first=“+encodeURI(fst)+”和second=“+encodeURI(sec); open(“POST”,“testproc2.php”,true); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); setRequestHeader(“内容长度”,参数长度); setRequestHeader(“连接”,“关闭”); xmlhttp.send(params); } 函数changeInnerDiv() { 警报(“在changeInnerDiv中”); var-xmlhttp; if(window.XMLHttpRequest) {//IE7+、Firefox、Chrome、Opera、Safari的代码 xmlhttp=新的XMLHttpRequest(); } xmlhttp.onreadystatechange=函数() { if(xmlhttp.readyState==4&&xmlhttp.status==200) { document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText; } } fst=document.form1.first.value; sec=document.form1.second.value; params=“first=“+encodeURI(fst)+”和second=“+encodeURI(sec); open(“POST”,“testproc3.php”,true); setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”); setRequestHeader(“内容长度”,参数长度); setRequestHeader(“连接”,“关闭”); xmlhttp.send(params); } 此文本应保持静态
更改内容 按此按钮将按预期调用页面testproc2.php,它会从表单中回显这两个值 <html> <head> </head> <body>
<?php //error_reporting(E_ALL) ; //echo "<br> From Textproc.php" ; $first = $_POST['first'] ; $second = $_POST['second'] ; //echo "<div id=\"myInnerDiv\"> " ; echo "In testProc2, " . $first . " was first, and " . $second . " was second <br> " ; echo "Now another form from testproc2<br> " ; echo "<form name=\"form2\"> " ; echo "First: <input type=\"text\" name=\"uno\"> <br> " ; echo "Second: <input type=\"text\" name=\"dose\"> <br> " ; echo " </form> " ; echo "<button type=\"button\" onclick=\"changeInnerDiv\">Change The Content</button> " ; ?> </body> </html>
/正文> /html>
但是当我在testproc2.php上按下submit键时,什么也没有发生。我尝试在testproc2.php中放置一个div,尝试将java脚本移动到testproc2.php中。提交不起任何作用。是否可以让ajax调用返回可以提交的表单?我不想,但我需要jquery吗?谢谢Brian,那是因为你的html都是经过编码的。您可能会看到它呈现为等,但在内部,它只是一些纯文本,而不是HTML。另一个注意,您没有关闭脚本标记。感谢您的输入。在testproc2中,我将onclick=\“changeInnerDiv\”>更改为onclick=\“changeInnerDiv()\”>嗨,Brian,请添加您的答案并标记为正确:)