web-dev-qa-db-fra.com

TypeError: stepUp appelé sur un objet qui n'implémente pas l'interface HTMLInputElement

J'ai ce code

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

Et je fais un appel ajax lorsque je clique sur le lien

$(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;


    });

Mais quand je clique sur le lien, j'obtiens cette erreur "TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement "lorsque je supprime ce code de l'appel ajax

data: { box_no: box_no, search_term: search_term}

mon code fonctionne très bien. Pourquoi cela se produit et comment y remédier? Comment envoyer les données?

29
asdfkjasdfjk

Si search_term est un champ de saisie dont vous voudrez peut-être obtenir la valeur.

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

En ce moment, vous faites référence à un objet jQuery contenant un élément HTMLDom, mais je pense que ce que vous voulez, c'est la chaîne à l'intérieur de l'élément d'entrée de recherche.

51
mayrs

TypeError: stepUp Appelé sur un objet qui n'implémente pas l'interface HTMLInputElement survient lorsque vous oubliez # signe pour (id) et. signe pour la classe. quand nous pouvons obtenir de la valeur directement sans. ou # signe.

Mauvaise méthode: - var email = $('PHMC_email').val();

Méthode correcte:

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

4
Ankush Kumar