Can';无法在jquery中获取EditorFor值?
我在RegisterView中有一个Can';无法在jquery中获取EditorFor值?,jquery,asp.net-mvc-3,Jquery,Asp.net Mvc 3,我在RegisterView中有一个@Html.EditorFor(m=>m.User.Username)。以下是fireBUg上的HTML: <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="tru
@Html.EditorFor(m=>m.User.Username)
。以下是fireBUg上的HTML:
<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>
}
但当我填满文本框并离开它时。POST值始终为空。我确信我的脚本工作正常,它总是返回true
,因为post值为null。我的控制器方法:
[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值也为空。有什么建议吗?试试这个
function CheckUserNameExits() {
$("#User_Username").on("blur", function () {
$("#User_Username").addClass("thinking");
var username = $("#User_Username").val();
$.ajax({
contentType: "application/json, charset=utf-8",
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.");
}
}
});
});
}
试试这个
function CheckUserNameExits() {
$("#User_Username").on("blur", function () {
$("#User_Username").addClass("thinking");
var username = $("#User_Username").val();
$.ajax({
contentType: "application/json, charset=utf-8",
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.");
}
}
});
});
}
将
id
交给您的EditFor
并重试
@Html.EditorFor(m => m.User.Username,new{id="EDUserName"})
function CheckUserNameExits() {
$("#EDUserName").on("blur", function () {
$("#EDUserName").addClass("thinking");
var username = $("#EDUserName").val();
$.ajax({
url: "/Account/CheckUsername",
data: { userName: username },
dataType: "json",
type: "POST",
error: function () {
return;
},
success: function (data) {
if (data) {
$("#EDUserName").addClass("approved");
}
else {
$("#EDUserName").addClass("denied");
$(".field-validation-error").html("The username already exits.");
}
}
});
});
}
将
id
交给您的EditFor
并重试
@Html.EditorFor(m => m.User.Username,new{id="EDUserName"})
function CheckUserNameExits() {
$("#EDUserName").on("blur", function () {
$("#EDUserName").addClass("thinking");
var username = $("#EDUserName").val();
$.ajax({
url: "/Account/CheckUsername",
data: { userName: username },
dataType: "json",
type: "POST",
error: function () {
return;
},
success: function (data) {
if (data) {
$("#EDUserName").addClass("approved");
}
else {
$("#EDUserName").addClass("denied");
$(".field-validation-error").html("The username already exits.");
}
}
});
});
}
您正在哪个浏览器中调试?邮件是否正确发送到服务器?当您通过代码调试时会发生什么如果您放置
警报(用户名),您会得到什么代码>在javascript函数的正下方var username=$(“#User_username”).val()代码>我怀疑你的页面上有不止一个ID=User\u用户名,因为它可以按原样使用你的代码。已关闭。您正在哪个浏览器中调试?邮件是否正确发送到服务器?当您通过代码调试时会发生什么如果您放置警报(用户名),您会得到什么代码>在javascript函数的正下方var username=$(“#User_username”).val()代码>我怀疑你的页面上有不止一个ID=User\u用户名,因为它可以按原样使用你的代码。关闭