-1

ユーザーが送信をクリックすると、ajax を介して php スクリプトを起動して検証を行うフォームがあります。現在、それが行う唯一のことは、投稿値をエコーすることです。ユーザーが「Dog」という単語を formEntry に入力すると、ajax の応答は Dog になります。ユーザーがダイアログ ウィンドウをキャンセルしてから、"Dog" を "Cat" に変更しても、ajax 応答には引き続き dog が表示されます。

 var dataToSend = "";
 var formEntry = $('#formEntry').val();   
 dataToSend += "data="+formEntry;

   $.ajax({  
               type: "POST",  
               url: "checkData.php",
               data: dataToSend,
               success: function(result){

    $('#dialog').dialog('open');
    $('#dialog').html(result);
                            }
    });

フォーム エントリ:

 <div class='inputText'><input type='text' name='formEntry' id='formEntry' value='<?php echo $someValue;?>'></div>

テストとして、var 定義の直後に alert(formEntry) を追加しましたが、これも「Dog」と表示されます。値を複数回変更した場合でも、値は常に ajax 呼び出しの最初の値です。

4

1 に答える 1

1
 dataToSend += was just adding more data to itself. addding:

 dataToSend = "";  at the beginning of the function solved the problem.
于 2013-10-17T16:47:14.197 に答える