Web 方法结果中的文本框值未更改

Textbox value not changing in webmethod result

此处 Webmethod return 值正确且标签值根据条件更改但 txtusername 的值未更改

<div class="col-sm-6">
<p style="margin: 0 0 5px 0;"><b>User Name</b>&nbsp;<span class="pull-right">
    <asp:Label ID="usernamelbl" Font-Size="X-Small" runat="server"></asp:Label></span></p>
<asp:TextBox ID="txtUserName" CssClass="form-control" runat="server" placeholder="Enter UserName" 
OnChange="CheckUserName(this)"></asp:TextBox>
</div>

Jquery

 function CheckUserName(oName) {
                PageMethods.UserNameChecker(oName.value, OnSucceeded);
            }
            function OnSucceeded(result, userContext, methodName) {
                lbl = document.getElementById('<%=usernamelbl.ClientID %>');
                lbl1 = document.getElementById('<%=txtUserName.ClientID %>');
                if (methodName == "UserNameChecker") {
                    if (result == true) {
                        lbl.innerHTML = 'Try Another Username';
                        lbl.style.color = "red";
                        $('<%=txtUserName.ClientID %>').val('');
 lbl1.style.color = "Blue";
                    }
                    else {
                        lbl.innerHTML = '';
                    }
                }
            }

这有效 (lbl1.style.color = "Blue";)很好,但值没有改变。我也尝试 lbl1.innerHTML = '';但失败了 请帮助我

使用

lbl1.value = "something"

对于你的写作方式,你没有充分利用jquery

而不是

lbl1 = document.getElementById('<%=txtUserName.ClientID %>');

你可以写成

lbl1 = $('input[id$="txtUserName"]');

id$表示以

结尾的id

然后你可以使用lbl1.val("something")填充它

你可以放弃下面的脚本,

$('<%=txtUserName.ClientID %>').val('');

如果你坚持使用它,你需要添加

$('#' +'<%=txtUserName.ClientID %>').val('');