在我看来,我有
@using (Html.BeginForm(null,null,FormMethod.Post, new {onsubmit="return
validateForm(this);", name = "frm", id = "frm" }))
在我的JS文件中我有这段代码
function validateForm(form) {
alert("Called")
var x = form[model.username].value;
if (x == "") {
alert("Name must be filled out");
return false;
}
}
当我在JS中使用一个警报时,它可以工作。但是,当我在表单中传递时,即使用户名为空,也会提交其余数据。我正在使用ASP MVC 5
请问任何想法?
答案 0 :(得分:0)
我们假设model.username
包含 "johndoe123"
。然后使用该值,这意味着实际上您要求 form["johndoe123"].value
,我认为这不太可能返回值。它甚至可能会产生错误,尤其是model
或model.username
未定义时。
您可能想要请求一个 name =“username”的表单字段或类似内容,因此我将举例说明如何执行此操作:
var form = document.getElementById("theForm");
console.log(form);
console.log(form["username"]);
console.log(form["username"].value);
<form id="theForm">
<input type="text" name="username" value="something">
</form>