使用Jquery永久清除Html文本框值

使用Jquery永久清除Html文本框值,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我有一个model.UserName)%%>。这里我检查用户名是否可用。如果它不可用,那么我需要清除文本框。我使用了查询$(“#UserName”).val(“”)。但在事件完成后,文本框将再次获取值。有人能帮我吗 更新:注释中的其他Javascript代码: function CheckAvailability() { $.post("/WebTeamReleaseDB/CheckAvailability", { Username: $("#UserName").val

我有一个
model.UserName)%%>
。这里我检查用户名是否可用。如果它不可用,那么我需要清除文本框。我使用了查询
$(“#UserName”).val(“”)。但在事件完成后,文本框将再次获取值。有人能帮我吗

更新:注释中的其他Javascript代码:

function CheckAvailability() {
    $.post("/WebTeamReleaseDB/CheckAvailability", {
        Username: $("#UserName").val()
    }, function(data) {
        var myObject = eval('(' + data + ')');
        var newid = myObject;
        if (newid == 1) {
            $("#usernamelookupresult").html("<font color='green'>Available :-D</font>")
        } else {
            $("#UserName").val("");
            $("#usernamelookupresult").html("<font color='red'>Taken :-(</font>")
        }
    });
}
功能检查可用性(){
$.post(“/WebTeamReleaseDB/CheckAvailability”{
用户名:$(“#用户名”).val()
},函数(数据){
var myObject=eval(“(“+data+”)”);
var newid=myObject;
if(newid==1){
$(“#usernamelookupresult”).html(“可用:-D”)
}否则{
$(“#用户名”).val(“”);
$(“#usernamelookupresult”).html(“take:-(”)
}
});
}
当您使用
model.UserName)%%>
时,它可能会作为
呈现到页面上,因此
$(“#UserName”).val(“”)找不到它,因为没有id=“UserName”

一个可能的解决方案是:使用
model.UserName,新的{id=“UserName”})%%>
,它应该作为
呈现到页面上。之后,
$(“#用户名”).val(“”)应该可以工作,因为文本框现在具有该id属性。

当您使用
model.UserName)%%>
时,它可能会作为
呈现到页面中,因此
$(“#UserName”).val(“”)找不到它,因为没有id=“UserName”


一个可能的解决方案是:使用
model.UserName,新的{id=“UserName”})%%>
,它应该作为
呈现到页面上。之后,
$(“#用户名”).val(“”)应该可以工作,因为文本框现在有了id属性。

我得到了问题的答案

HTML代码:

<%: Html.TextBoxFor(model=>model.UserName,new { @onchange="CheckAvailability()" }) %>
model.UserName,新建{@onchange=“CheckAvailability()”})%>
Javascript代码:

function CheckAvailability() {
        var value;
        if (document.getElementById("UserName").value == "") {
            $("#usernamelookupresult").html("");
            alert("Please Enter User Name");
        }
        else {
            $.post("/WebTeamReleaseDB/CheckAvailability",
            {
                Username: $("#UserName").val()
            },
                function (data) {
                    var myObject = eval('(' + data + ')');
                    var newid = myObject;
                    value = myObject;
                    if (newid == 1) {
                        $("#usernamelookupresult").html("<font color='green'>Available :-D</font>")
                    }
                    else if (newid == 2) {
                        $("#usernamelookupresult").html("<font color='red'>UserName Invalid! :-(</font>")
                    }
                    else {
                        $("#usernamelookupresult").html("<font color='red'>Taken :-(</font>")
                        $("#UserName").val("");
                    }
                });
            }
        }
功能检查可用性(){
var值;
if(document.getElementById(“用户名”).value==“”){
$(“#usernamelookupresult”).html(“”);
警报(“请输入用户名”);
}
否则{
$.post(“/WebTeamReleaseDB/CheckAvailability”,
{
用户名:$(“#用户名”).val()
},
功能(数据){
var myObject=eval(“(“+data+”)”);
var newid=myObject;
值=myObject;
if(newid==1){
$(“#usernamelookupresult”).html(“可用:-D”)
}
else if(newid==2){
$(“#usernamelookupresult”).html(“用户名无效!”:-()
}
否则{
$(“#usernamelookupresult”).html(“take:-(”)
$(“#用户名”).val(“”);
}
});
}
}

我找到了问题的答案

HTML代码:

<%: Html.TextBoxFor(model=>model.UserName,new { @onchange="CheckAvailability()" }) %>
model.UserName,新建{@onchange=“CheckAvailability()”})%>
Javascript代码:

function CheckAvailability() {
        var value;
        if (document.getElementById("UserName").value == "") {
            $("#usernamelookupresult").html("");
            alert("Please Enter User Name");
        }
        else {
            $.post("/WebTeamReleaseDB/CheckAvailability",
            {
                Username: $("#UserName").val()
            },
                function (data) {
                    var myObject = eval('(' + data + ')');
                    var newid = myObject;
                    value = myObject;
                    if (newid == 1) {
                        $("#usernamelookupresult").html("<font color='green'>Available :-D</font>")
                    }
                    else if (newid == 2) {
                        $("#usernamelookupresult").html("<font color='red'>UserName Invalid! :-(</font>")
                    }
                    else {
                        $("#usernamelookupresult").html("<font color='red'>Taken :-(</font>")
                        $("#UserName").val("");
                    }
                });
            }
        }
功能检查可用性(){
var值;
if(document.getElementById(“用户名”).value==“”){
$(“#usernamelookupresult”).html(“”);
警报(“请输入用户名”);
}
否则{
$.post(“/WebTeamReleaseDB/CheckAvailability”,
{
用户名:$(“#用户名”).val()
},
功能(数据){
var myObject=eval(“(“+data+”)”);
var newid=myObject;
值=myObject;
if(newid==1){
$(“#usernamelookupresult”).html(“可用:-D”)
}
else if(newid==2){
$(“#usernamelookupresult”).html(“用户名无效!”:-()
}
否则{
$(“#usernamelookupresult”).html(“take:-(”)
$(“#用户名”).val(“”);
}
});
}
}

元素的id是否为
用户名
?您能再发布一点代码吗?我正在使用Html.TextBoxFor()。在这里如何使用元素id?函数CheckAvailability(){$.post(“/WebTeamReleaseDB/CheckAvailability”,{UserName:$(“#UserName”).val()},函数(data){var myObject=eval('('+data+'));var newid=myObject;如果(newid==1{$(“#用户名查找结果”).html(“可用:-D”)}其他{$(“#用户名”).val(“”);$(“#用户名查找结果”).html(“take:-(”}}})你在谈论什么事件?是元素的id
UserName
?你能再发布一点代码吗?我正在使用html.TextBoxFor()。在这里如何使用元素id?函数CheckAvailability(){$.post(“/WebTeamReleaseDB/CheckAvailability”),{Username:$(“#Username”).val()},函数(数据){var myObject=eval('('+data+');var newid=myObject;if(newid==1){$(“#usernamelookupresult”).html(“可用:-D”)}否则{$(“#Username”).val(“$”;$”(#usernamelookupresult”).html(“-”)}你说的是哪个事件?我也试过你的代码。但是它会清除文本框,直到java脚本事件完成执行。执行完成后,文本框会得到值。@Davis:我知道了,Davis。我这样写:model.UserName,new{@onchange=CheckAvailability()}我也试过你的代码。但它会清除文本框,直到java脚本事件完成执行。执行完成后,文本框会得到值。@Davis:我得到了它Davis。我这样写:model.UserName,new{@onchange=CheckAvailability()}