Как выбрать один текстовый элемент на странице с несколькими формами, используя JQuery - PullRequest
2 голосов
/ 18 октября 2011

У меня есть страница с несколькими полями для комментариев.Когда кто-то нажимает кнопку отправки для поля комментария, JQuery обрабатывает отправку и публикует комментарий.Затем я хочу вернуть текст в поле для комментариев обратно пустым.Я использую что-то вроде этого:

$('.formstyle').submit(function() {        
    $.post("/messages/", $(this).serialize());
    return false;
});

Я знаю, что есть опция .reset(), но она все еще не говорит мне, как получить доступ к одному текстовому элементу среди многих.Я могу использовать $(":input[name=new_message]").val('');, чтобы установить текст всех текстовых полей на странице, но это может раздражать, если у кого-то есть сообщение, которое он не отправил.Я думаю, что-то вроде this.(":input[name=new_message]").val(''); будет работать, но не игра в кости.Я думаю, что я просто не соединяю точки между this (или, скорее, $(this)) и селектором входа.

Ответы [ 3 ]

2 голосов
/ 18 октября 2011

Try:

$(":input[name='new_message']",this).val('');

2-й аргумент для $() определяет контекст для селектора, поэтому селектор будет соответствовать только входным данным внутри формы, которая запускает submit

1 голос
/ 18 октября 2011

Вы можете просто использовать это: -

$('.formstyle').submit(function() {        
    $.post("/messages/", $(this).serialize());
    $(this).find('input[name=new_message]').val('');
    return false;
});
0 голосов
/ 18 октября 2011

Если у вас несколько <form> с, this будет ссылаться на отправляемую информацию. Вы можете использовать $(this).find(':input[…]').val('') только для сброса поля внутри этой формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...