如何在OnClientClick的处理程序中访问按钮的文本.相当于“;这个“;
本文关键字:按钮 文本 相当于 这个 访问 OnClientClick 处理 程序 | 更新日期: 2023-09-27 18:23:42
我使用这样的jquery分配点击处理程序,以切换按钮的功能
$(function () {
$(".ButtonReorder").click(
function () {
//USER STARTS REORDERING - BUTTON CHANGES TO "SAVE" AND "CANCEL" BUTTON APPEARS
if ($(this).attr("value") === "Reorder Images") {
...
}
//USER SUBMITS NEW ORDER - REORDERING GETS DISABLED
else {
...
}
}
);
现在,我们正在从html文本控件更改为ASP.Net控件。它在回邮,这是我们不想要的。我看到有人在OnClientClick函数中提到return false。因此,我没有使用jQuery,而是尝试通过OnClientClick分配JS函数,就像这样,但我意识到这个关键字现在不指向按钮。我该怎么称呼它?
//背后的代码
Button reorderButton = new Button();
reorderButton.CssClass = "ButtonReorder";
reorderButton.Text = "Reorder Images";
reorderButton.OnClientClick = "return reorderClick();";
//JS代码
function reorderClick() {
//USER STARTS REORDERING - BUTTON CHANGES TO "SAVE" AND "CANCEL" BUTTON APPEARS
if ($(this).attr("Text") === "Reorder Images") {
$(this).attr("value", "Save New Order"); //change button to show "Save New Order" from "Reorder Images"
...
return false; //starting reorder, don't want to submit;
}
//USER SUBMITS NEW ORDER - REORDERING GETS DISABLED
else {
$(this).attr("value", "Reorder Images"); //set button back to original "Reorder Images" from "Save New Order"
...
return true; //done reordering, submit;
}
}
但这并不是指按钮。OnClientClick是否将操作对象传递给处理程序?有办法通过吗?
谢谢,Ozgur Ozturk
我是这样想的:
reorderButton.OnClientClick = "return reorderClick(this);";
function reorderClick(obj) {
//USER STARTS REORDERING - BUTTON CHANGES TO "SAVE" AND "CANCEL" BUTTON APPEARS
if ($(obj).attr("Text") === "Reorder Images") {
}
}
尝试将this作为参数
"return reorderClick(this);";
function reorderClick(elem) {
if ($(elem).attr("Text") === "Reorder Images") {