【问题标题】:'stepUp' called on an object that does not implement interface HTMLInputElement在未实现接口 HTMLInputElement 的对象上调用“stepUp”
【发布时间】:2018-05-17 22:46:27
【问题描述】:

我有一个 ID 为 #country 的国家/地区的下拉列表。我正在尝试将选择为 ajax 请求的值传递给 php 文件 - countrycode.php,并将接收到的值传递给另一个 ID 为 #tele.. 的输入字段。我的代码如下:

<script>
$('#country').change(function() {
    //var country = $(this).val();
    var country = $('#country').val();
    //alert(country);
});
                $.ajax({
                    type: "POST",
                    url: 'countrycode.php',
                   data: { country : country },
                    success: function(data)
                    {
                       $("#tele").html(data);
                    }
                });
</script>

警报(国家);显示选择的正确国家。我尝试使用:

var country = $(this).val();

也有正确的警报信息。

问题在于:

data: { country : country },

我收到错误: TypeError:在未实现接口 HTMLInputElement

的对象上调用了“stepUp”

我尝试了 Stackoverflow 中的所有答案..但无法理解它不起作用的原因????

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    您的 country 变量在 change 函数内。所以对于ajax来说它是未定义的。我认为它必须是全球性的。

    你可以试试这个吗?

    <script>
          var country;
          $('#country').change(function() {
                //var country = $(this).val();
                country = $('#country').val();
                //alert(country);
                $.ajax({
                    type: "POST",
                    url: 'countrycode.php',
                    data: { country : country },
                    success: function(data)
                          {
                             $("#tele").val(data);
                          }
                });
          });
    </script>
    

    【讨论】:

    • @user3790186 我尝试了内部更改功能。数据未附加到#tele id 输入字段。
    • 我找到了原因。它应该是 $('#tele').val(data);谢谢。
    • 已更新。 @user3790186
    • 小修正(如果有),但左边的国家不应该是数据字典中的“国家”吗?
    • 感谢有关变量的提示。我想补充一点,当您尝试 ajax 一个根本没有被声明或填充的变量时,您也会得到不是很有帮助的 StepUpError 。是的,它可能就这么简单。我一直在看工作变量,忘记了我复制的 sessionId..
    【解决方案2】:

    如果您在 country 字段更改时尝试使用 Ajax 更新字段,那么您需要将 ajax 调用放在 .change() 处理程序中,以便调用它。

    <script>
    $('#country').change(function () {
        var country = $('#country').val();
        $.ajax({
            type: "POST",
            url: 'countrycode.php',
            data: { country: country },
            success: function (data) {
                $("#tele").html(data);
            }
        });
    });
    </script>
    

    和之前一样,您只是在启动时调用 ajax 函数,然后在 country 变量中没有任何值,然后当 .change() 事件发生时,您根本没有调用 ajax 函数。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-13
      • 2014-10-12
      • 1970-01-01
      相关资源
      最近更新 更多