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

validate asp button on submit at client side in Javascript

本文关键字:验证 asp 按钮 提交 Javascript 客户端      更新时间:2023-09-26

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

我的按钮

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

脚本代码

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"

提前感谢大家

按钮:

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

描述:

checkDate(this);

调用你的函数并传递按钮对象(this)。

return false;

阻止回发。

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,"");
}

"valid"是一个变量,您可以在其中保存验证结果。

__doPostBack(btn.name, ") 调用是您在第一个参数中传递的控件上的回发(因此需要 UniqueID,因此需要 'btn.name')

你可以在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> 

谢谢大家

这段代码正在工作 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();"点击="btnSubmit_Click"

if里面试试这样的事情

document.getElementById('<%= btnSubmit.ClientID %>').click();

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

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

HTML 代码:

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;
}
}