webmethod结果中的文本框值没有改变

Posted

技术标签:

【中文标题】webmethod结果中的文本框值没有改变【英文标题】:Textbox value not changing in webmethod result 【发布时间】:2018-02-24 05:09:09 【问题描述】:

这里Webmethod返回值正确,标签值根据条件变化,但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"吗?不知道为什么你使用一半 javascript 一半 jquery @seOng11 谢谢它的作品..这不是一个好方法吗??我不期望在 jquery 中。只是一个初学者。 不说不是好方法,长此以往,会变成意大利面条,以后很难解决 【参考方案1】:

使用

lbl1.value = "something"

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

而不是

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

你可以写成

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

id$ 表示以

结尾的 id

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

你可以放弃下面的脚本,

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

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

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

【讨论】:

以上是关于webmethod结果中的文本框值没有改变的主要内容,如果未能解决你的问题,请参考以下文章

清除文本框值 onclick 并显示 onblur

根据另一个文本框填充文本框值 - Ms Access

Access 2010 Web 数据库 - 从局部变量更新文本框值?

在访问中更改组合框值时,可以更改/重新计算计算的文本框值

更改文本框的值,与另一个具有比率的文本框值相比

请问一下,C# js里面文本框的改变事件怎么写(主要是实现给用户发送信息,绑定2个文本框,一个存id)