javascript - 在 ASP.NET 中,您可以 String.Empty 焦点所在的 TextBox 吗?

标签 javascript asp.net vb.net textbox

想知道这是否可能,当前使用它来单击“清除”按钮,然后清除 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/

相关文章:

富文本框中的 VB.NET 语法突出显示

javascript - 如何使用 Grails Controller 中的 JSON 填充选择框

javascript - 如何在 jQuery 的按键事件中获取全部值?

c# - UseSqlServer 方法缺少 MVC 6

asp.net - MS .NET 4.6 可以与 Visual Studio 2010 一起使用吗

javascript - 浏览器不显示文件已下载

javascript - 模态表中的按钮未触发

javascript - 带选项的温泉对话框

asp.net - 如何选择下拉列表值,然后使用PowerShell和IE 6.0回发

c# - 如何在 DotNetNuke 中以编程方式创建文件夹并为其分配权限?