Предположите форму с идентификатором "serialform" на странице html.jquery this.attr ("action") представляет форму?
Следующий JavaScript работает должным образом.
$("#serialform").submit(function(event) {
var action = $("#serialform").attr("action");
var serial = $("#serial").val()
...
return event.preventDefault();
});
Однако, если я заменю первую строку функции использовать «это»:
$("#serialform").submit(function(event) {
var action = this.attr("action");
var serial = $("#serial").val()
...
return event.preventDefault();
});
Тогда форма представляет вместо того, чтобы просто возвращая атрибут действия. this
относится к элементу формы (согласно firebug).
Я бы подумал, что this
будет эквивалентно $("#serialform")
. В любом случае, я хочу получить атрибут действия формы, которая отправляется.
Я использую jQuery 2.0.3.
замените 'this.attr' на' $ (this) .attr' – MackieeE
Попробуйте изменить 'this' на' $ (this) '. – j08691
Потому что вы получаете сообщение об ошибке «TypeError: undefined не является функцией» или что-то в этом роде. [Узнайте, как ** отлаживать ** JavaScript] (http://www.creativebloq.com/javascript/javascript-debugging-beginners-3122820). И, пожалуйста, прочитайте учебник jQuery (http://learn.jquery.com/events/event-basics/). Он объясняет, что происходит внутри обработчика событий и что это означает. –