Передача параметров в функцию JavaScript вместе с обратным вызовом - PullRequest
0 голосов
/ 29 августа 2011

У меня есть ссылка на моей 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 () будет выглядеть примерно так:Правильная реализация этого, я имею в виду, как правильно реализовать сценарий.Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 29 августа 2011

Предположим, у вас есть различные функции обратного вызова в 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="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 голосов
/ 29 августа 2011

Надеюсь, вы найдете это полезным.

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");
});
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...