从Javascript中读取MVC @ Html.TextBoxFor

时间:2016-03-01 09:07:55

标签: javascript asp.net-mvc

我必须在更改事件中阅读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为空

4 个答案:

答案 0 :(得分:0)

您可以将值作为输入发送给函数:

@Html.TextBoxFor(m => m.Pod, new { @class = "inputStyle180", @title = "Pod", @onchange = "onChangePod(this.value);" })}

function onChangePod(Pod) {
...
}

答案 1 :(得分:0)

由于您已经在使用内联脚本,因此可以使用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");
   }
};

答案 2 :(得分:0)

使用name属性获取Pod输入。

var Pod = $('input[name="Pod"]').val();

答案 3 :(得分:0)

当您在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()