没有在服务器端点击onclick

时间:2011-12-02 04:14:40

标签: c# javascript javascript-events

我在验证结束时设置了一个名为valsave()的按钮的验证,我禁用了按钮。

验证和禁用功能都能正常工作,但同一按钮的服务器端onclick功能无法触发。

<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 个答案:

答案 0 :(得分:2)

为什么不只是return true;

答案 1 :(得分:0)

如果禁用该按钮,则无法触发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

答案 2 :(得分:0)

试试这个样本开始。使用.client id获取您的控件ID。并在声明变量时使用var。

 function valSave() {

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

};

此致

答案 3 :(得分:0)

你的函数总是返回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'); }


}