TypeError: HTMLInputElement インターフェイスを実装していないオブジェクトに対して stepUp が呼び出されました 質問する

TypeError: HTMLInputElement インターフェイスを実装していないオブジェクトに対して stepUp が呼び出されました 質問する

このコードを持っています

<a data-remote="true" data-box_no="1" class="find_or_add_horse" href="#">Find/Add Horse</a>

そしてリンクをクリックすると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;


    });

しかし、リンクをクリックすると、TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElementこのコードをAjax呼び出しから削除すると、このエラーが発生します。

data: { box_no: box_no, search_term: search_term}

私のコードは正常に動作します。なぜこのようなことが起こるのでしょうか。また、これを修正するにはどうすればよいでしょうか。データを送信するにはどうすればよいでしょうか。

ベストアンサー1

search_term入力フィールドの場合は、その値を取得する必要があるかもしれません。

var search_term = $(this).parents('.sub-middle-column').find('.search_horse').val();

現在、HTMLDom 要素を含む jQuery オブジェクトを参照していますが、必要なのは検索入力要素内の文字列だと思います。

おすすめ記事