繁体   English   中英

将参数与回调一起传递给javascript函数

[英]passing parameters to a javascript function alongwith a 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
      }
}

在这里,我对此的正确实现感到困惑,我的意思是实现方案的正确方法是什么。 请帮忙。

希望您觉得这个有帮助。

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");
});
}

假设您在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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM