我必须在更改事件上读取html.TextBoxFor
字段的值。
现在我的 MVC 表单中有这个元素:
@Html.TextBoxFor(m => m.Pod, new {
@class = "inputStyle180", @title = "Pod", @onchange = "onChangePod();"
})
}
而这个Javascript函数:
function onChangePod() {
var Trovato = false;
//var sPod = document.getElementById("Pod").value;
var Pod = $('#Pod').val();
alert(sPod);
$.getJSON('@Url.Action("VerificaDatiUtenza", "EELAutoletture")', {
Pod: Pod
}, function(data) {
$.each(data, function(i, item) {
Trovato = true;
if (i == "Denominazione") {
$('#Denominazione').val(item);
}
if (i == "Localita") {
$('#Localita').val(item);
}
});
});
if (Trovato == false) {
alert("ATTENZIONE! Pod non in anagrafica");
}
};
但是变量Pod
为空
您可以将值作为输入发送到函数:
@Html.TextBoxFor(m => m.Pod, new { @class = "inputStyle180", @title = "Pod", @onchange = "onChangePod(this.value);" })}
和
function onChangePod(Pod) {
...
}
你可以这样做.. 在 @Html.TextBoxFor 中创建 id.
@Html.TextBoxFor(m => m.Pod, new { @id="Pod",@class = "inputStyle180", @title = "Pod", @onchange = "onChangePod();" })}
这是你的函数方法
function onChangePod() {
var Trovato = false;
var Pod = $('#Pod').val();
alert(Pod );
$.getJSON('@Url.Action("VerificaDatiUtenza", "EELAutoletture")', { Pod: Pod }, function (data) {
$.each(data, function (i, item) {
Trovato = true;
if (i == "Denominazione") {
$('#Denominazione').val(item);
}
if (i == "Localita") {
$('#Localita').val(item);
}
});
});
if (Trovato == false) {
alert("ATTENZIONE! Pod non in anagrafica");
}
};
由于您已经在使用内联脚本Html.IdFor
因此您可以使用帮助程序获取为Pod
属性生成的 id所以你可以使用类似的东西
function onChangePod() {
var Trovato = false;
var Pod = $("#@Html.IdFor(m=>m.Pod)").val();
alert(Pod );
$.getJSON('@Url.Action("VerificaDatiUtenza", "EELAutoletture")', { Pod: Pod }, function (data) {
$.each(data, function (i, item) {
Trovato = true;
if (i == "Denominazione") {
$('#Denominazione').val(item);
}
if (i == "Localita") {
$('#Localita').val(item);
}
});
});
if (Trovato == false) {
alert("ATTENZIONE! Pod non in anagrafica");
}
};
使用 name 属性获取Pod
输入。
var Pod = $('input[name="Pod"]').val();
当你在javascript中按Id获取项目时,你必须为此设置Id。($("#Pod").Val()
)。无论如何,您有 2 个选择。
1)您可以按名称获取项目,例如:$("input[name="Pod"]).Val()
)
2)更改您的视图:
@Html.TextBoxFor(m => m.Pod, new {@class = "inputStyle180", @title = "Pod",
@onchange = "onChangePod();", @id="Pod"})
然后使用
$("#Pod").Val()