Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   $(this).remove() не работает на форме с ajaxForm() (https://javascript.ru/forum/jquery/39742-%24-remove-ne-rabotaet-na-forme-s-ajaxform.html)

gait 10.07.2013 10:49

$(this).remove() не работает на форме с ajaxForm()
 
Я хочу, чтобы по сабмиту форма самоудалилась. Но это нужно сделать
при срабатывании ajaxForm:

<form class="test-form">
	<button class="test-button">SUBMIT</button>
</form>

$(".test-form").ajaxForm(function() {
	$(this).remove();
});

И почему-то не получается.

Можно сделать так:
$(".test-button").on('click', function() {
	$(this).parent().remove();            
});


Но этот вариант не подходит, нужно сделать удаление именно с ajaxForm.

Еще можно сделать так:
$(".test-form").ajaxForm(function() {
	$(".test-form").remove();
});

И тогда тоже всё пучком, но у меня много форм и мне нужно удалять только ту, где произошел сабмит, то есть нужен $(this), но с ним почему-то удаления формы не происходит?

skrudjmakdak 10.07.2013 10:57

а что в консоль падает, ошибок нет?
$(".test-form").ajaxForm(function() {
console.log(this);
    $(this).remove();
});

gait 10.07.2013 11:01

ошибок нет, в консоли:
[Object, jquery: "2.0.3", constructor: function, init: function, selector: "", toArray: function…]

gait 10.07.2013 11:03

а, это было для console.log($(this));
для console.log(this) выдает вот это:
Object {url: "http://localhost:8080/fileupload/", type: "POST", isLocal: false, global: true, processData: true…}

animhotep 10.07.2013 11:04

$('.test-form').submit(function() {
  $(this).remove();
  return false;
});

gait 10.07.2013 11:06

Цитата:

Сообщение от animhotep (Сообщение 261510)
$('.test-form').submit(function() {
  $(this).remove();
  return false;
});

Ничего не изменилось :-?

skrudjmakdak 10.07.2013 11:07

ну а если так:
$(".test-form").ajaxForm(function() {
      $(".test-form").remove();
});

animhotep 10.07.2013 11:08

я может не понял чё вам нужно, но формы по клику удаляются
http://codepen.io/anon/pen/pwaLu

gait 10.07.2013 11:08

Цитата:

Сообщение от skrudjmakdak (Сообщение 261514)
ну а если так:
$(".test-form").ajaxForm(function() {
      $(".test-form").remove();
});

Так получается, я об этом писал выше, но мне нужен $(this)

skrudjmakdak 10.07.2013 11:08

мм. па попробуйте в консоль вот так вывести:
$(".test-form").ajaxForm(function() {
console.log($(this)[0]);
});

по идеи должен вернуть dom элемент


Часовой пояс GMT +3, время: 10:53.