2011-08-29 68 views
0

我喜歡下面在我的HTML頁面的鏈接:參數傳遞給javascript函數非常久遠的回調

<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 
     } 
} 

在這裏,我很困惑與正確實施這一點,我的意思是實施方案的正確方法。請幫忙。

回答

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

假設你在Javascript中有不同的回調函數:

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

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

在PHP中可以作爲進一步的參數回調函數的名稱傳遞到您構建的onclick功能

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); 
} 
+0

其實我想寫一個事件處理程序,將與**的onclick **鏈接的情況下,somethig像**功能執行的東西(e){var popup_di_iid = e.target.title} **在那裏我會保留我的彈出邏輯。但我也需要將其他參數傳遞給** enterReportNameToSave **函數。如何實現? – debaShish