【问题标题】:.val() func returns undefined but no copied id.val() 函数返回未定义但没有复制的 id
【发布时间】:2019-05-22 20:41:13
【问题描述】:

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

我看到其他人在这里也有同样的问题。大多数解决方案都说 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 文本框中的输入内容打印到控制台。相反,我不断得到“未定义”。

【问题讨论】:

  • 第一个:使用.val() 而不是.value var myInt = $("#myInt").val();.. 第二个:要获得点击值,使用点击内部的var myInt=..... 行而不是点击外部.. 问题是当你试图获取 myInt 你得到它 onload 所以它会读取 undefined 或 empty 但它不会捕获新值..而且你的代码中没有 id myInt

标签: jquery html asp.net


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    您的 html 代码中没有任何带有 id="myInt" 的输​​入

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 2021-09-06
      • 2016-12-01
      • 2017-10-08
      • 1970-01-01
      • 2014-07-14
      • 2018-09-29
      • 2014-07-05
      相关资源
      最近更新 更多