0

そのjavascript ajax関数を使用して、dato値を含むフォームのコンテンツをPHP login.phpに渡します。エコーを使用して、キャンセルフォームに切り替えたいコンテンツ(挿入フォーム)を返します。コンテンツの RespondText (PHP のエコーのみを取得する場合があります)。

しかし代わりに、responseText にはすべての html コードが含まれており、古い html と echo によって渡された cancella_form が含まれています。これも id=visibile の div から外れています。

理由はありますか?D:

//ajaxSubmit(dato)
function ajaxSubmit( url , divId , hideId ) {

            //in setXmlHttpObject() I just control the user's browser
            // and assign the right XmlHttp Object
    var ajaxRequest = setXmlHttpObject();

    var dato = 'nome='+document.getElementsByName('dato')[0].value;
    ajaxRequest.open("POST", url, true);
    ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    ajaxRequest.send(dato);

    ajaxRequest.onreadystatechange = function() {
        //Comunication complete
        if (ajaxRequest.readyState == 4 && ajaxRequest.status==200) {
            //Comuncation succesfull
            if(ajaxRequest.statusText === "OK"){
                var str= ajaxRequest.responseText;//<<<HERE///////
                $(str).replaceAll("#visibile");

            }
            //Comuncation failed
            else{
                var str= "ERROR: Ajax: "+ajaxRequest.responseText;
                document.write(str);


            }
        }
    }

}//FINE ajaxRequest();



<?php

    include("prova_login_adv.php");

    $conn= mysql_connect('localhost','root','');
    mysql_select_db('db_prova',$conn ) or die(mysql_error());

    //
    if(isset($_POST['nome'])){
        $dato= $_POST['nome'];
        mysql_query(" INSERT INTO test (valore) VALUES ('$dato') ") or die(mysql_error());

            /// NOW I declare what I want to be replaced in the div id="visibile"
        echo "

            <form id='form_cancella' name='form_cancella' action='' methos='POST' onSubmit=' return false;' >
              <text name='dato' value='".$dato."' >Benvenuto <b>".$dato."</b></text>
              <input type='submit' name='cancella' value='cancella' onClick=\" ajaxSubmit('logout.php','visibile','form_cancella');\" />
            </form>

        ";

    }

?>
4

0 に答える 0