РЕДАКТИРОВАТЬ:
Поскольку целью события submit
всегда должна быть сама форма, вы также можете использовать свойство target
объекта event
, так какв: e.target
$('.typeAform').submit(function( e ){
$.post('http://apple.com', { somevar : 'somevalue' }, function(){
// e.target references the form that was submitted.
alert(e.target)
});
return false;
});
Если это доставляет вам проблемы, есть и другие способы избежать создания переменной, если вы этого не хотите.
Получить идентификаториз элемента DOM в .submit()
:
var id = this.id;
Так будет:
$('.typeAform').submit(function(){
var id = this.id;
$.post('/home', { somevar : 'somevalue' }, function(){
//do something with the original form
// Use the "id" here
});
return false;
});
Или, если вам нужна сама форма, просто укажите this
.
$('.typeAform').submit(function(){
var theForm = this;
$.post('/home', { somevar : 'somevalue' }, function(){
//do something with the original form
// Use the "theForm" here
alert( theForm.id );
$(theForm).someJQueryMethod()
});
return false;
});
Обратите внимание, что когда вы находитесь внутри обратного вызова $.post
, this
больше не ссылается на <form>
.Вот почему мы ссылаемся на него в переменной.