在ASP.NET中你可以String.Empty那个IN焦点的TextBox吗?

时间:2013-11-18 13:10:55

标签: 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或其他任何东西,这又有可能吗?

2 个答案:

答案 0 :(得分:3)

您应该在客户端上进行操作(编辑:根据MightyLampshade的建议,您可以找到1000个示例here),您不需要往返于服务器的往返服务。如果你有一个清晰的按钮:

$("#clear").click(function() {
    $(".can-be-cleared").val("");
});

请注意,这将清除所有带有can-be-cleared类的元素(我假设您可能不希望清除每个输入而是一个特定的集合,如果不是这样,只需将其替换为input[type=text]) 。当您单击标识为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

答案 1 :(得分:-1)

你可以试试这个:

 $('input[type=text]').focus(function() {
      $(this).val('');
      });

它简单易用Jquery ..不需要编写大量的代码行。

<强>更新

如果您想点击按钮,请点击:

  $("#Clear").click(function(){
    $('input[type=text]').focus(function() {
      $(this).val('');
      });    
});