将参数传递给javascript函数以及回调

时间:2011-08-29 07:12:09

标签: javascript jquery callback

我的html页面中有一个链接,如下所示:

<a id="save_report" href="javascript:void(0);" title="Save Report" onclick="javascript:enterReportNameToSave(<?php echo $upload_count?>,<?php echo $startOffset;?>,<?php echo $affiliateId; ?>);">Save Report <img height="16" width="16" style="vertical-align: bottom;" src="/img/icn_export.gif" alt="export"></a>

您可以看到,我需要向函数 enterReportNameToSave 发送一些参数,同时,我还需要调用回调函数来处理弹出窗口。

我的enterReportNameToSave()函数调用类似于:

function enterReportNameToSave(count,startOffset,user_id,f)
{
     //Some logic to set a div element based on the parameter values
     f()//This will be the implementation of my call function
     {
         //Here I need to invoke the popup logic
      }
}

在这里,我对这个的正确实现感到困惑,我的意思是实现场景的正确方法。请帮忙。

2 个答案:

答案 0 :(得分:0)

希望你觉得这很有用。

function enterReportNameToSave(count,startOffset,user_id,f)
{
$("#yourdivid").html("<h1>Show Loading bar or load up your actual html data here</h1>").load("use_this_if_data_needs_fetching_from_remote.php","count="+count+"&f="+f,function() {
   alert("I am just a useless popup and have popped up after the div is populated");
});
}

答案 1 :(得分:0)

假设您在Javascript中有各种回调函数:

function f1(count, offset, uid) {
    alert("count=" + count);
}    
function f2(count, offset, uid) {
    alert("offset" + offset);
}
// etc

在PHP中,您可以将回调函数的名称作为另一个参数传递给构造的onclick函数:

onclick="javascript:enterReportNameToSave(<?php echo $upload_count; ?>, 
    <?php echo $startOffset; ?>, <?php echo $affiliateId; ?>, 
    <?php echo $callback_name; ?> );">

onclick字符串的具体值将是例如。

onclick="javascript:enterReportNameToSave(10, 20, 1234, f1);"

Javascript函数enterReportNameToSave()如下所示:

function enterReportNameToSave(count, startOffset, user_id, f) {
    // use parameters count, startOffset, user_id
    // call callback function f:
    f(count, startOffset, user_id);
}