我在RegisterView中有一個<td>@Html.EditorFor(m => m.User.Username)</td>
。這裏是fireBUg的HTML:無法獲得jQuery中的EditorFor值?
<td>
<input id="User_Username" class="text-box single-line" type="text" value="" name="User.Username" data-val-required="The Username field is required." data-val="true">
</td>
我寫一個litte jquery代碼來檢查用戶名是否用戶名退出。這裏是我的代碼:
function CheckUserNameExits() {
$("#User_Username").on("blur", function() {
$("#User_Username").addClass("thinking");
var username = $("#User_Username").val();
$.ajax({
url: "/Account/CheckUsername",
data: { userName: username },
dataType: "json",
type: "POST",
error: function() {
return;
},
success: function (data) {
if (data) {
$("#User_Username").addClass("approved");
}
else {
$("#User_Username").addClass("denied");
$(".field-validation-error").html("The username already exits.");
}
}
});
});
}
但是當我填寫文本框,離開它。 POST值始終爲空。我確定我的腳本工作正常,它總是返回true
,因爲帖子值爲空。我的控制器方法:
[HttpPost]
public ActionResult CheckUsername(string userName)
{
var user = IUserRepo.GetUserByUrName(userName);
if (user!= null)
return Json(false);
return Json(true);
}
在調試userName
參數時始終爲空。我試圖通過$(".text-box")
更改$("#User_Username")
,但POST值也爲空。任何對我來說都是合情合理的?
你在調試什麼瀏覽器?帖子是否正確地發送到服務器?當你通過代碼進行調試時會發生什麼 – ermagana
如果你在'var username = $(「#User_Username」)。val();你的javascript函數中放置'alert(username)',你會得到什麼?''我懷疑因爲[THIS FIDDLE](http://jsfiddle.net/dknRf/)與您的代碼原樣工作正常,因此頁面上有多個ID = User_Username。 – ethorn10
它工作正常,我的錯誤。關閉。 – Luffy