我有两个按钮调用相同的函数:btnUpdate
必须执行此函数,而btnSave
不需要执行此方法:
function Update_New() {
if (document.getElementById("btnUpdate").value == 2) {
var update_confrimation = confirm("Are you sure you want to Update?");
if (update_confrimation == true) {
return true;
} else {
return false;
}
}
}
按钮代码:
<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(event)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(event) " value="2" />
我的问题:当我点击更新按钮时,该功能无效。
答案 0 :(得分:0)
您需要将对单击按钮的引用传递给方法
<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(this)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(this) " value="2" />
然后使用点击按钮的值,您可以根据需要显示不同的消息
function Update_New(el) {
return confirm(el.value == 2 ? "Are you sure you want to Update?" : 'Are you sure you want to save');
}
答案 1 :(得分:0)
<asp:Button ID="btnSave" runat="server" Text="SAVE" OnClick="btnSave_Click" OnClientClick="return Update_New(this)" value="1" />
<asp:Button ID="btnUpdate" runat="server" Text="UPDATE" OnClick="btnUpdate_Click" OnClientClick="return Update_New(this) " value="2" />
只需使用&#34;这个&#34;键而不是&#34;事件&#34;然后在javascript中使用变量来存储对象(我使用过变量X)。
function Update_New(this) {
if (this.value == 2)
{
var update_confrimation = confirm("Are you sure you want to Update?");
if (update_confrimation == true) {
return true;
}
else {
return false;
}
}
}
答案 2 :(得分:0)
您的第一个if
声明存在问题。渲染后按钮的文本为value
,因此您的if
语句应如下所示:
if (document.getElementById("btnUpdate").value === "UPDATE")
此外,您在代码末尾错过了一个}
,并且最好使用===
代替==
。所以你的代码应该是这样的:
function Update_New() {
if (document.getElementById("btnUpdate").value === "UPDATE") {
var update_confrimation = confirm("Are you sure you want to Update?");
if (update_confrimation === true) {
return true;
} else {
return false;
}
}
}
请注意 :并非所有代码路径都返回一个值,因此请考虑在最后添加一个return语句。