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> <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('');
此处 Webmethod return 值正确且标签值根据条件更改但 txtusername 的值未更改
<div class="col-sm-6">
<p style="margin: 0 0 5px 0;"><b>User Name</b> <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$
表示以
然后你可以使用lbl1.val("something")
填充它
你可以放弃下面的脚本,
$('<%=txtUserName.ClientID %>').val('');
如果你坚持使用它,你需要添加
$('#' +'<%=txtUserName.ClientID %>').val('');