TypeError:stepUp调用未实现接口HTMLInputElement的对象

asd*_*fjk 31 javascript ajax jquery

我有这个代码

<a data-remote="true" data-box_no="1" class="find_or_add_horse" href="#">Find/Add Horse</a>
Run Code Online (Sandbox Code Playgroud)

当我点击一个链接时,我会进行ajax调用

$(document).on('click', '.find_or_add_horse', function () {
        var search_term = $(this).parents('.sub-middle-column').find('.search_horse');
        var box_no = $(this).data('box_no');


        $.ajax({
            url: "/startup_wizard/find_horse",
            dataType: 'script',
            type: 'GET',
            data: { box_no: box_no, search_term: search_term}
        });
        return false;


    });
Run Code Online (Sandbox Code Playgroud)

但是当我点击链接TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement时,当我从ajax调用中删除此代码时,我收到此错误" "

data: { box_no: box_no, search_term: search_term}
Run Code Online (Sandbox Code Playgroud)

我的代码工作正常.为什么会这样,以及如何解决这个问题?我该如何发送数据?

may*_*yrs 55

如果search_term是输入字段,您可能希望获得其值.

var search_term = $(this).parents('.sub-middle-column').find('.search_horse').val();
Run Code Online (Sandbox Code Playgroud)

现在你正在引用一个包含HTMLDom-Element的jQuery对象,但我认为你想要的是搜索输入元素中的字符串.


小智 6

TypeError: stepUp当您忘记 # sign for(id) 和 . 签到上课。当我们可以在没有 . 或# 符号。

错误的方法: - var email = $('PHMC_email').val();

正确方法:

-var email = $('#PHMC_email').val(); 或者 var email = $('.PHMC_email').val();