Подтвердить что ты не робот

Document.getElementById( "tweetform" ). submit не является функцией?

Я использую Firefox, и я читал некоторые форумы, утверждающие, что это не работает в firefox, но он работал у меня последние несколько дней, но перестал работать, и я не могу понять, почему.

Я делаю запрос AXAX POST с использованием IFrame. Когда я получаю ответ, я использую это:

function startLoad(){
    $.get("update.php", function(data){
            if(data==''){
                startLoad();
            }
            else{
                document.getElementById("tweetform").submit();
            }
    });
}

Однако из firebug я получаю следующее:

document.getElementById("tweetform").submit is not a function
[Break on this error] document.getElementById("tweetform").submit();

Я знаю, что существует, но что происходит?

4b9b3361

Ответ 1

Я предполагаю, что у вас есть элемент в форме, который называется "submit" (возможно, <button> или <input type="submit">, и что ".submit" извлекает ссылку на этот элемент, а не член function "submit()". Если это так, попробуйте переименовать этот элемент в другое (например, "submit_button" ).

Ответ 2

Джейсон Масгроув хорошо объяснил проблему.

Вы можете использовать собственный метод submit HTMLFormElement для решения проблемы:

HTMLFormElement.prototype.submit.call($('#tweetform')[0]);

Ответ 3

На самом деле его достаточно, чтобы переименовать ваш < input name= "submit" / > к чему-то еще, и он работает.

Ответ 4

Я предполагаю, что вы используете jQuery.

Попробуйте это вместо.

$("#tweetform").submit();

Ответ 5

Используйте document.forms ['tweetform']. submit() вместо