TypeError: '[object HTMLInputElement]' не является функцией (вычисляет 'elem [type] ()') в jQuery form.submit () - PullRequest
12 голосов
/ 30 декабря 2011

Никогда не сталкивался с этой проблемой? Я получаю эту ошибку в последней версии jQuery. Я пытался с версией 1.6.2, и нет никаких проблем.

TypeError: '[object HTMLInputElement]' is not a function (evaluating 'elem[ type ]()')

line 3175

Что-то изменилось, о чем мы должны знать?

Спасибо, Jack

Ответы [ 3 ]

37 голосов
/ 30 декабря 2011

Обычно это происходит, если имя любого вашего тега input равно submit.Например,

<form id="frm">
    <input type="submit" name="submit" value="Post" />
</form>

В приведенном выше коде document.getElementById("frm").submit представляет элемент input.Когда вы применяете () к submit Это показывает эту ошибку.

7 голосов
/ 30 ноября 2014

Я обнаружил, что эта ошибка возникает при использовании атрибута onclick для вызова функции JavaScript с тем же именем, что и либо атрибуты id или nameдля элемента input:

<input id='foo' name='fooName' onclick='foo();'> <!-- BAD: id matches function -->

<input id='fooId' name='foo' onclick='foo();'> <!-- BAD: name matches function -->

<input id='fooId' name='fooName' onclick='foo();'> <!-- WORKS! -->

Это происходит независимо от типа ввода.

3 голосов
/ 09 мая 2012

Недавно у меня возникла похожая проблема с сафари в части JavaScript, чтобы отправить форму.Оказалось, что это связано с тем, что элемент ввода submit имел name="submit", что конфликтовало, из-за чего он возвращал его как не являющуюся функцией.

...