我有一个两个文本框和启用按钮。如果在单击启用按钮时在文本框中输入的数据错误,它会发出警报。如果所有数据都正确,则单击启用按钮时,文本必须变为禁用。问题是,一旦我单击启用,它就会禁用一秒钟,然后页面加载它再次进入启用。任何人都可以告诉我我做错了什么。如果可能,请提供一个示例。提前致谢
用于验证和更改按钮文本的脚本
function validate
{
var cal1 = document.getElementById('<%=txtEndDate.ClientId%>').value;
var cal2 = document.getElementById('<%=txtStartDate.ClientId%>').value;
var button=document.getElementById('<%=button1.ClientId %>')
if (cal1 == '' && cal2 == '') {
alert("Start Date and End Date can not be left blank ");
return false;
}
if (cal1 == '') {
alert("End Date can not be left blank ");
return false;
}
if (cal2 == '') {
alert("Start Date can not be left blank ");
return false;
}
if (cal1 != '' || cal2 != '')
{
var dt1 = Date.parse(cal1);
var dt2 = Date.parse(cal2);
if (dt1 <= dt2) {
alert("End Date must occur after the Start date ");
return false;
}
}
//if the all the validation are correct it comes to this
if (button.value == "Enable")
button.value = "Disable";
else
button.value = "Enable";
return true;
}
按钮
<asp:Button ID="button1" OnClientClick=" return validate()" runat="server" Text="Enable" />
最佳答案
条件为&&
代替 ||
然后你通过了return false
停止回发
完成验证后尝试 return false
并使用if - else
将节省您的时间validate
function validate()
{
var cal1 = document.getElementById('<%=txtEndDate.ClientId%>').value;
var cal2 = document.getElementById('<%=txtStartDate.ClientId%>').value;
var button=document.getElementById('<%=button1.ClientId %>')
if (cal1 == '') {
alert("End Date can not be left blank ");
return false;
}
else if (cal2 == '') {
alert("Start Date can not be left blank ");
return false;
}
else if (cal1 != '' && cal2 != '')
{
var dt1 = Date.parse(cal1);
var dt2 = Date.parse(cal2);
if (dt1 <= dt2) {
alert("End Date must occur after the Start date ");
return false;
}
else{
//if the all the validation are correct it comes to this
if (button.value == "Enable")
button.value = "Disable";
else
button.value = "Enable";
}
}
return false;
}
和按钮 - <asp:Button ID="button1" OnClientClick=" return validate();" runat="server" Text="Enable" />
关于javascript - 如何在页面加载后停止按钮文本更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31446105/