想知道这是否可能,当前使用它来单击“清除”按钮,然后清除 UPIN;
Protected Sub clear(ByVal Sender As Object, ByVal e As System.EventArgs)
UPIN.Text=String.Empty
End Sub
但我希望它清除焦点所在的文本框!例如;
focusedstring.Text=String.Empty
同样,没有大量 JS 或其他东西是否可能?
最佳答案
您应该在客户端上执行此操作(编辑:按照 MightyLampshade 的建议,您可以在 1000 个示例中找到 here ),您不需要为此往返服务器。假设您有一个清除按钮:
$("#clear").click(function() {
$(".can-be-cleared").val("");
});
请注意,这将清除带有 can-be-cleared
类的所有元素(我假设您可能不想清除每个输入,而是清除特定的集合,如果不是这种情况,只需将其替换与 input[type=text]
)。当您单击 ID 为 clear
的元素时。
如果每个“清除”按钮必须与一个特定的文本框绑定(bind),那么您必须重复它们(因为当您单击按钮时,文本框将不再获得焦点)。作为替代方案,您可以记住最后一个聚焦的文本框。让我们看看两者:
<input type="text" id="textbox1"/>
<button class="clear-button" data-textbox="textbox1">clear</button>
JavaScript 是:
$(".clear-button").click(function() {
$("#"+$(this).data("textbox")).val("");
});
更简单的替代方案(如果您没有任何其他特殊要求,我更喜欢这个)可能是跟踪最后一个聚焦的文本框:
var lastFocused = undefined;
$("input[type=text]").focus(function () {
lastFocused = $(this);
});
$("#clear-field").click(function () {
if (lastFocused !== undefined) {
lastFocused.val("");
}
});
当然,不要忘记将 $("#clear-field")
与您用于清除按钮的正确 ID 相匹配,在本例中我假设:
<button id="clear-field">Clear</button>
无论如何,如果您确实需要一些服务器端处理(出于任何其他原因),生成的事件的 TextBox
位于 sender
参数中:
Dim textbox As TextBox = DirectCast(sender, TextBox)
textbox.Text = String.Empty
关于javascript - 在 ASP.NET 中,您可以 String.Empty 焦点所在的 TextBox 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20048656/