Не стреляет на серверной стороне по клику - PullRequest
1 голос
/ 02 декабря 2011

Я установил проверку для кнопки с именем valsave(), в конце проверки я отключил кнопку.

Функция проверки и отключения работает правильно, но функция щелчка на стороне сервера для той же кнопки не срабатывает.

<asp:Button ID="btnSave" runat="server" Text="Save" TabIndex="16" SkinID="imgsave"
ToolTip="Save" OnClientClick="return valSave();" OnClick="btnSave_Click" />

 function valSave()
 {


if(document.getElementById('hifMsgClick').value=='')
{
    vtxtPRequestDate=document.getElementById('txtPRequestDate');
    vdgvPurReq=document.getElementById('dgvPurReq');        

    if(vtxtPRequestDate.value.length==0)
    {
        showMsgbox('BLANK','Purchase Request Date','2','txtPRequestDate'); 
        return false;
    }        

   if(vdgvPurReq == null)  
   {
        showMsgbox('BLANK','Purchase Request Details','2','ddlItemRequestID');               
        return false;
   }

}    
else
{
    var vvalue=document.getElementById('hifMsgClick').value;   
    document.getElementById(vvalue).focus();
    document.getElementById('hifMsgClick').value="";
    return false;
}
  var vbtnSave=document.getElementById('btnSave');
  vbtnSave.disabled = true;  
  vbtnSave.value = 'Pls..wait';   
  __doPostBack('btnSave','OnClick'); }

Как сделать так, чтобы серверная часть работала по щелчку?

Ответы [ 4 ]

2 голосов
/ 02 декабря 2011

Почему бы тебе просто не return true;?

0 голосов
/ 02 декабря 2011

ваша функция всегда возвращает false, потому что ваше условие if всегда возвращает false

function valSave()
{


     if(document.getElementById('hifMsgClick').value=='')
     {
       return false;
     }
     else
     {
      return false;
     }

  // this part can not execute
 var vbtnSave=document.getElementById('btnSave');
 vbtnSave.disabled = true;
  vbtnSave.value = 'Pls..wait'; 
  __doPostBack('btnSave','OnClick'); }


}
0 голосов
/ 02 декабря 2011

Попробуйте этот пример для начала.используйте идентификатор .client, чтобы получить свой контрольный идентификатор.И использовать var в объявлении переменных.

 function valSave() {

    var mytext = document.getElementById("<%=hifMsgClick.ClientID%>").value;
    if (mytext == "") 
    {
      alert("No records found");
    }
    else 
    {
        //CLICK SAVE
        document.getElementById("<%=btnSave.ClientID%>").click();
    }

};

С уважением

0 голосов
/ 02 декабря 2011

Вы не можете запустить onclick, если отключите кнопку.поэтому я предлагаю вам добавить еще одну кнопку в скрытом. Like:

 <asp:Button ID="btnSave" runat="server" Text="Save" TabIndex="16" SkinID="imgsave" ToolTip="Save" OnClientClick="return valSave();" OnClick="btnSave_Click" />
<asp:Button ID="btnwait" runat="server" Text="Pls..wait" style="display:none" disabled="true" TabIndex="16" SkinID="imgsave" ToolTip="Save"  />

, а затем изменить свой код, как это в вашей функции

  document.getElementById('btnSave').style.display = 'none';
    document.getElementById('btnwait').style.display = 'block';
    document.getElementById('btnSave').Click();

СпасибоGourav

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