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时的值?它没有定义,当我执行 console.log(data2) 时,代替值应该是表的大量 HTML 以及所有值的来源。我不知道为什么会发生这种情况,这没有任何意义,因为当我这样做时,我会得到正确的值?'joe and 0'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

不确定,但我已经完成了这样的 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 回答
1

将此作为答案,因为我指出您不需要 ajax 调用来获取解决方案的值atf_nameatf_amount注释。为了尽量减少对代码的更改,我的建议是将更sendUpdateATFwindow()改为:

function sendUpdateATFwindow() { 
    return {'atfName': atf_name.val(), 'atfAmount': atf_amount.val()}; 
} 
于 2013-02-13T22:51:17.970 回答
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 回答