我试图找到一种方法从单个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"
。
先谢谢所有
答案 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()
:
$(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”