我创建了一个MVC 4项目。我有一个文字和一个按钮。我希望无论何时单击按钮,如果文本为空,请显示jQuery警告。
查看:
<script>
$(function () {
$("#send").on("click", function (e) {
var m = $("#txt1").val();
if (m == "") {
alert(m);
e.preventDefault();
}
});
});
</script>
@using(Html.BeginForm())
{
<input type="text" name="txt1" />
<button type="submit" id="send">send</button>
}
但不行。如果我改变文字,就像下面的工作一样!
@Html.TextBox("txt1")
or
<input type="text" id="txt1" />
为什么在“ @ Html.TextBox(”txt1“)”中使用名称并在“&lt; input type =”text“id =”txt1 “/&gt; ”使用 ID ?
答案 0 :(得分:1)
您应该使用:
$("#send").on("click", function (e) {
var m = $("input[name='txt1']").val();
if (m == "") {
alert(m);
e.preventDefault();
}
});
答案 1 :(得分:1)
如果您希望validate
form
input name
[name="txt1"]
,请使用#txt1
而不是var m = $("input[name='txt1']").val();
,
$(function () {
$("#send").on("click", function (e) {
var m = $("input[name='txt1']").val();
if (m == "") {
alert(m);
e.preventDefault();
}
});
});
完整代码
{{1}}
答案 2 :(得分:0)
在jQuery中#
用于按id
选择元素,这就是您的第二个代码有效的原因。
<input type="text" id="txt1" />
var m = $("#txt1").val();
html
的呈现@Html.TextBox("txt1")
将为: -
<input id="txt1" name="txt1" type="text" value="">
答案 3 :(得分:0)
您没有将“id”属性赋予您的输入类型,而不是您刚刚给出的名称,如
<input type="text" name="txt1" />
你已经编写了jquery代码,
$("#txt1").val()
然后如何检测id =“txt1”的DOM元素?
为此你必须使用代码,
$("#send").on("click", function (e) {
var m = $("input[name='txt1']").val();
if (m == "") {
alert(m);
e.preventDefault();
}
});
当您将Razor语法用作
时,为您指定@Html.TextBox("txt1")
然后它将创建一个具有“name”,“id”和&amp;的DOM元素。其他属性,