提交由ajax调用创建的ajax表单

时间:2014-01-24 19:51:25

标签: 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 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 static 
<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>

按下按钮会按预期调用页面testproc2.php,它会回显表单中的两个值     

    <html>
    <head>
    </head>
    <body>

<?php
   //error_reporting(E_ALL) ;
   //echo "&lt;br> From Textproc.php" ;
   $first = $_POST['first'] ;
   $second = $_POST['second'] ;

   //echo "<div id=\"myInnerDiv\"> "  ;
   echo "In testProc2, " . &#36;first . " was first, and " . &#36;second . " was second &lt;br> " ;
   echo "Now another form from testproc2&lt;br> " ;

   echo "&lt;form name=\"form2\"> " ;
   echo "First:  &nbsp; &lt;input type=\"text\" name=\"uno\"> &lt;br> " ;
   echo "Second:  &lt;input type=\"text\" name=\"dose\"> &lt;br> " ;
   echo " &lt;/form> " ;
   echo "&lt;button type=\"button\" onclick=\"changeInnerDiv\">Change The Content&lt;/button> " ;
?>
&lt;/body>
&lt;/html>

但是当我在testproc2.php上按下提交时没有任何反应。我已经尝试在testproc2.php中放置一个div,尝试将java脚本移动到testproc2.php中。提交什么都不做。是否可以让ajax调用返回可以提交的表单?我宁愿不,但我需要jquery吗?谢谢Brian

0 个答案:

没有答案