2016-05-19 3 views
0

私はAjaxにとって非常に新しく、PHPのファイルに1つの代わりに2つの変数を送る必要があります。 私は2つのテキスト入力フォームを持っています - 2番目の値が入力された後(2番目の入力は最初に入力された場合のみ表示されます)2番目の入力とともにFIRST INPUTから入力をphpファイル。ajaxを使用して複数の変数をPHPファイルに送信しますか?未定義のインデックス?

$(".passwordText").keydown(function(event){ 
    if(event.keyCode == 13){ 
     var pass = $(this).val(); 

    $(".oldPass").keydown(function(event){ 
    if(event.keyCode == 13){ 
     var oldPass = $(this).val(); 
     //var pass = document.getElementById("p2"); 
    $.ajax({ 
     url: "../php/passwordchange2.php", // Url to which the request is send 
     type: "POST",    // Type of request to be send, called as method 
     data: 'oldPass=' + oldPass+'passwordText=' + pass, // data sent to php file 
     //data: {pass:"passwordText",oldPass:"oldPass"} 
     success: function(data) // A function to be called if request succeeds 
     { 
      console.log(data); 
      //$('.passwordText').slideUp(500) 

     }});  
    console.log("WORKS now!!"); 
    } 
}); 
    //console.log("WORKS!!"); 
    } 
}); 

との両方をエコーする必要があり、私のPHP:現在、第二の入力からの入力を含む変数を送信

echo '<form class="changePassForm" action="" method="post" enctype="multipart/form-data">'; 
echo '<input class = "passwordText" type="password" placeholder="Change Password" name="passwordText">'; 
echo '<input class = "oldPass" type="password" placeholder="Enter Old Password" name="oldPass">'; 
echo '</form>'; 

のjavascript:ここ

は私のフォーム/入力です。それがあるので、唯一のパスがエコーされます:

session_start(); 
include("../php/Session.class.php"); 
$sess = new Session(); 
$sess->Init(); 
$cookie = isset($_COOKIE["session"]); 
if($cookie) 
{ 
$cookie = $_COOKIE["session"]; 
$account = $sess->Verify($cookie); 
} 

$pass1=$_POST['passwordText']; //name of input 
    echo $pass1;  

$pass=$_POST['oldPass']; //name of input 
    echo $pass; 

私はUndefined index: passwordText は、私はこれをどのように修正することができ、エラーを取得していますか?

+1

変更データ:{ \t oldPass:oldPass、 \t passwordText: を渡す}、' – guradio

+0

クエリ文字列は必要 '&' '名= [値]対部分の間 –

答えて

0

あなたは自分のコード内で "&" が不足している:

data: 'oldPass=' + oldPass+'&passwordText=' + pass, // data sent to php file

OR

data:{"oldPass":oldPass,"passwordText":pass}

0

を複数のデータと

$.ajax({ 
     method: "POST", 
     url: /post_url, 
     dataType: "json", 
     data: {var1 : data1, 
       var2 : data2, 
       var3 : data3 
       }, 
     beforeSend: function() { 
     //do something 
        }, 
     error: function() { 
      // do something       
        }, 
     success: function (r) { 
       //do something 

         } 
     }); 

あなたのAJAXリクエストを送信する方法javascriptロジックが明確でない場合は、このように変更して、変数をグローバルに定義する必要があります。

var pass = ''; var oldPass = '';この `データに

$(".passwordText").keydown(function(event){ 
    if(event.keyCode == 13){ 
     pass = $(this).val(); 
    } 
}); 

$(".oldPass").keydown(function(event){ 
if(event.keyCode == 13){ 
    oldPass = $(this).val(); 
    $.ajax({ 
     url: "../php/passwordchange2.php", // Url to which the request is send 
     type: "POST",    // Type of request to be send, called as method 
     data: {pass:pass,oldPass:oldPass}// data sent to php file 
     success: function(data) // A function to be called if request succeeds 
     { 
      console.log(data); 
     } 
    });  
console.log("WORKS now!!"); 
} 
}); 
関連する問題