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();
Я знаю, что существует, но что происходит?
Ответы
Ответ 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() вместо