Я искал или решал проблему, но ни один из найденных мной объявлений не является полезным.
Я пытаюсь сделать автоматическую форму, которая отправляется при загрузке страницы.
$(document).getElementById('ticketCount').submit(function(){
$.ajax({
method:$(this).attr('method'),
url:$(this).attr('action'),
data:$(this).serialize()
})
.done(function(data){
$('#ticketCount').html(data);
})
.error(function(data){
console.log(data);
});
});
Моя консоль сообщает мне, что: "Uncaught TypeError: undefined не является функцией". Я не думаю, что допустил ошибку (я знаю, что это зависит от регистра), и я уже использовал $ (document).ready(), $ (document).keyup(function {}) где-то еще в том же.js файл, поэтому я не думаю, что проблема возникает из $ (document)..
Я не могу сказать, где моя ошибка...
Спасибо за ваши ответы!
.getElementById() → это синтаксис javascript для получения элемента DOM с определенным уникальным идентификатором.
в jQuery он отложен. У вас нет селектора для этого элемента DOM
Там много селекторов. Здесь вы nead ID SELECTOR. то есть: #id
поэтому вам нужно написать:
$('#ticketCount').submit(function(){
.............................
Если вы хотите отправить автоматически при загрузке страницы:
window.onload = function(){
$('#ticketCount').trigger("submit");
};
У вас три ошибки.
Сначала: $(document)
не является элементом DOM, поэтому .getElementById
не определен. Вместо этого используйте селектор jQuery.
Второй: .submit
требует, чтобы пользователь .submit
кнопку отправки. Вместо этого можно использовать $(document).ready
+ Изменить
$(document).getElementById('ticketCount').submit(function(){
в
$(document).ready(function(){
В-третьих: функция jQuery ajax не имеет свойства, называемого method
. Вместо этого вместо этого он имеет type
+ Изменить
method:$(this).attr('method'),
в
type:$(this).attr('method'),
document.getElementById('ticketCount').submit()
или document.querySelector('#ticketCount').submit()
, используя HTMLFormElement.submit()
; jQuery здесь почти полностью не нужен.
использовать setTimeout
setTimeout(function(){
var elem = document.getElementById('ticketCount');
var $elem = $(elem);
$.ajax({
type:$elem.attr('method'),
url:$elem.attr('action'),
data:$elem.serialize()
})
.done(function(data){
$elem.html(data);
})
.error(function(data){
console.log(data);
});
},500);
$("#ticketCount").submit(function(){
изменить код
$(document).getElementById('ticketCount').submit(function(){
в
$("#ticketCount").submit(function(){
$(document).
возвращает объект jQuery, у которого нет метода с именемgetElementById
$(document.getElementById('ticketCount'))
но зачем вам его использовать ?!