.val()func返回未定义但没有复制的ID

时间:2019-05-22 20:41:13

标签: jquery html asp.net

我正在尝试使用asp.net和jquery创建一个基本的计算器。我通过单击“计算”按钮进入JQuery函数。我想使用myInt根据我从中获得的价值来做其他事情。但是myInt总是返回undefined或一个空字符串。

我看到其他人在SO上也有同样的问题。大多数解决方案都说OP在某处重复了一个id。我已经检查了一下,但找不到我已经完成了。我还能遇到什么其他问题?

<form id="calculator" asp-action="CalcEvens">
      <div asp-validation-summary="ModelOnly" class="text-center"></div>

      <div class="form-group">
           <label asp-for="myInt" class="control-label">Enter a numba</label>          
           <input asp-for="myInt" class="form-control" min="1" max="999" required="required" type="number" />
           <span asp-validation-for="myInt" class="text-danger"></span>
      </div>

      <div class="form-group">
           <input type="button" id="Calculate" value="Calculate" />
      </div>
</form>

    $(document).ready(function () {
        var myInt = $("#myInt").value;

        $('#Calculate').on('click', function () {
            console.log(myInt);
        });
    });

我需要将myInt文本框中输入的任何内容打印到控制台。我不断收到“未定义”的信息。

2 个答案:

答案 0 :(得分:0)

您的html代码中没有任何id =“ myInt”的输入

答案 1 :(得分:0)

您需要使用val()而不是.value

var myInt = $("#myInt").val();

要获得点击价值,请在click方法内部而不是外部使用var myInt=.....行。

$('#Calculate').on('click', function () { 
    var myInt = $("#myInt").val();
    console.log(myInt);
});

当您尝试获取myInt值时将其加载,因此它将读取为undefined或为空,但不会捕获新值。