Вызов нескольких функций JavaScript одним нажатием кнопки - PullRequest
16 голосов
/ 10 марта 2010

Как вызвать несколько функций при событии нажатия кнопки?

Вот моя кнопка,

<asp:LinkButton
    ID="LbSearch"
    runat="server"
    CssClass="regular"
    onclick="LbSearch_Click"
    OnClientClick="return validateView();ShowDiv1();">

Но мой ShowDiv1 не вызывается ...

Мои функции JavaScript:

function ShowDiv1() {
    document.getElementById("ReportDiv").style.display = 'block';
    return false;
}

function validateView() {

    if (document.getElementById("ctl00_ContentPlaceHolder1_DLCategory").selectedIndex == 0) {
        document.getElementById("ctl00_ContentPlaceHolder1_ErrorMsg").innerHTML = "Please Select Your Category";
        document.getElementById("ctl00_ContentPlaceHolder1_DLCategory").focus();
        return false;
    }
    if (document.getElementById("ctl00_ContentPlaceHolder1_DLEmpName").selectedIndex == 0) {
        document.getElementById("ctl00_ContentPlaceHolder1_ErrorMsg").innerHTML = "Please Select Your Employee Name";
        document.getElementById("ctl00_ContentPlaceHolder1_DLEmpName").focus();
        return false;
    }
    return true;
}

Если функция ValidateView() возвращает true, я должен вызвать ShowDiv1().

Ответы [ 11 ]

0 голосов
/ 10 марта 2010

Это не вызывается, потому что у вас есть оператор возврата над ним. В следующем коде:

function test(){
  return 1;
  doStuff();
}

doStuff () никогда не будет вызываться. Я бы предложил написать функцию-обертку

function wrapper(){
   if (validateView()){
     showDiv();
     return true;
   }
}

и затем вызовите функцию-обертку из вашего обработчика onclick.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...