在Javascript中验证客户端提交的asp按钮

时间:2014-11-26 06:04:59

标签: javascript c# asp.net sharepoint-2010

我试图找到一种方法从单个asp按钮点击调用javascript函数和按钮onclick事件,我在这里做的是代码:

我的按钮

<asp:Button ID="btnSubmit" name="btnSubmit" runat="server" Text="Submit" OnClientClick="checkDate()"  OnClick="btnSubmit_Click"></aspButton> 

Javascript代码

function checkDate() {

        var startDate = document.getElementById('<%=dtPeriodFrom.Controls[0].ClientID%>').value;
        var toDate = document.getElementById('<%=dtPriodTo.Controls[0].ClientID%>').value;

        if (new Date(startDate).getTime() > new Date(toDate).getTime()) {

            alert("To date must be greater than from date.!!");
        }
}

这里这个javascript正在运行fyn,但如果javascript只返回true,我想调用OnClick="btnSubmit_Click"。如果toDate小于startDate,则不应调用OnClick="btnSubmit_Click"

先谢谢所有

5 个答案:

答案 0 :(得分:2)

按钮:

OnClientClick="checkDate(this); return false;" OnClick="btnSubmit_Click"

说明

checkDate(this);

调用你的函数并传递button-object(this)。

return false;

阻止PostBack。

<强> JavaScript的:

function checkDate(btn) {
 var valid = false;
 //your Code, set valid = true; if date is correct.
 if(valid){
   __doPostBack(btn.name,"");
 }
}

说明

//your Code

代表您的验证码。

if(valid){
       __doPostBack(btn.name,"");
}

&#39;有效&#39;是一个保存验证结果的变量。

__ doPostBack(btn.name,&#34;&#34;)调用你在第一个参数中传递的控件上的PostBack(因此需要&#39; btn.name&# 39)

答案 1 :(得分:1)

您可以在doucment.ready()

中使用jquery点击事件
$(function(){

  $('#'+'<%=btnSubmit.ClientID%>').click(function(){

     var startDate = document.getElementById('<%=dtPeriodFrom.Controls[0].ClientID%>').value;
     var toDate = document.getElementById('<%=dtPriodTo.Controls[0].ClientID%>').value;

     if (new Date(startDate).getTime() > new Date(toDate).getTime()) {

        alert("To date must be greater than from date.!!");

        return false; // note this statmement will stop to call server event of click
      }

  });


});

您的按钮代码:

<asp:Button ID="btnSubmit" 
            name="btnSubmit" 
            runat="server" 
            Text="Submit" 
            OnClick="btnSubmit_Click"></asp:Button> 

答案 2 :(得分:0)

HTML code:

OnClientClick="return checkDate();"

Javascript代码:

function checkDate() {

        var startDate = document.getElementById('<%=dtPeriodFrom.Controls[0].ClientID%>').value;
        var toDate = document.getElementById('<%=dtPriodTo.Controls[0].ClientID%>').value;

        if (new Date(startDate).getTime() > new Date(toDate).getTime()) {

            alert("To date must be greater than from date.!!");
            return true;

        }
else
{
return false;
}

}

答案 3 :(得分:0)

if

中尝试类似的内容
document.getElementById('<%= btnSubmit.ClientID %>').click();

OR

$('#<%=btnSubmit.ClientID%>').click();

OR

$("#btnSubmit").click();

答案 4 :(得分:0)

全部谢谢

此代码正在运行fyn

function checkDate() {

        var startDate = document.getElementById('<%=dtPeriodFrom.Controls[0].ClientID%>').value;
        var toDate = document.getElementById('<%=dtPriodTo.Controls[0].ClientID%>').value;

        if (new Date(startDate).getTime() > new Date(toDate).getTime()) {

            alert("To date must be greater than from date.!!");
            return false;
        }
        else
            return true;
    }
<asp:Button ID="btnSubmit" name="btnSubmit" runat="server" Text="Submit" OnClientClick="return checkDate();" OnClick="btnSubmit_Click"/>

asp:Button ID =“btnSubmit”name =“btnSubmit”runat =“server”Text =“Submit”OnClientClick =“return checkToDate();”的OnClick = “btnSubmit_Click”