0

やあみんな私は次のコードを持っています:

 $(document).ready(function () {        
    $(".atf-submit").click(function () {
            atf_name = $(this).parent().parent().find(".user_table");
            atf_amount = $(this).parent().parent().find(".user_atf");
     runATFinsider();
    });
});
function runATFinsider(){
        var urlatfinsider = '/pcg/ATF/updateATF_window.php';
        var tagatfinsider = $("#insider_dialog");

        var promise1a = showUrlInDialogATFinsider(urlatfinsider);
        var promise2a = sendUpdateATFwindow();

        $.when(promise1a, promise2a).done(function(data1, data2) {

            tagatfinsider.html(data1[0]).dialog({
              width: '100%',
              modal: true
            }).dialog('open');
           //$('.updaterATF_outerbody').text(data2[0].atfName),
           //$('.updaterATF_outerbody').text(data2[0].atfAmount)
           //alert(data2[0].atfname);
           console.log(data2);
        });
    }
    function showUrlInDialogATFinsider(urlatfinsider)
    {
      return $.ajax({
        url: urlatfinsider
      });
    }
    function sendUpdateATFwindow()
{
  return $.ajax({
    data: {
        'atfName': atf_name.val(),
        'atfAmount': atf_amount.val()
    }
  });
}

一番上を見て、atf_nameとの値を言ってatf_amount'joe and 0' ましょう。それは定義されておらず、console.log(data2) を実行したとき、値が存在する場所の代わりに、テーブルの HTML の束と値が由来するすべてのものがあります。なぜこれが起こっているのかわからず、意味がありません。そうすれば、取得した正しい値が得られるからです。console.logalert(data2[0].atfName)alert(aft_name.val())

手を貸していただければ幸いです。また、このコードは、ダイアログウィンドウが既に開いているときに実行され、これにより別のウィンドウが開きます。私はそれが問題になるべきではないと思います。

デビッド

HTMLは次のとおりです。

<input type='hidden' class='user_table' value='$memusername'/>
<input type='hidden' class='user_atf' value='$memATF'/>

これらはテーブルの中にあります。

4

3 に答える 3

1

atf_nameソリューションへatf_amountのコメントの値を取得するためにajax呼び出しを行う必要はないと指摘したため、これを答えとして入れます。コードの変更を最小限に抑えるために、次のように変更することをお勧めしますsendUpdateATFwindow()

function sendUpdateATFwindow() { 
    return {'atfName': atf_name.val(), 'atfAmount': atf_amount.val()}; 
} 
于 2013-02-13T22:51:17.970 に答える
1

よくわかりませんが、次のようなjQuery AJAX戻り値を実行しました:

    $.ajax({
        type: "POST", 
        url: url, 
        data: 'string'
    }).done(function(returnVar) {
        /* Do something with returnVar*/
    });

参考になるかわかりませんが、個人的に使っているものです。

編集:

また、AJAX ファイルのリターンを送信する必要があります。私は主にPHPファイルを扱っているので、

ECHO $myVariable;

于 2013-02-13T22:15:32.870 に答える
0

やあみんな私はそれを理解しました。実際には、送信された値を返すために別のファイルを作成する必要があったため、これを作成しました。

$name_ATF = trim( $_POST['atfName'] );
$amount_ATF = trim( $_POST['atfAmount'] );


$returnArray = array( 'atfName' => $name_ATF, 'atfAmount' => $amount_ATF);

echo json_encode($returnArray);

うまくいきました。お疲れ様でした!

デビッド

于 2013-02-13T22:33:11.010 に答える