想知道这是否可行,目前正在使用它单击“清除”按钮,然后清除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
。如果每个“清除”按钮都必须与一个特定的文本框绑定在一起,则必须重复它们(因为单击按钮文本框时将不再聚焦)。或者,您可能还记得上一个聚焦的文本框。让我们看看两者:
<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