Read an MVC @Html.TextBoxFor from Javascript



我必须在更改事件上读取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()

最新更新