Очистить ввод при вводе данных в другой ввод - PullRequest
1 голос
/ 22 марта 2012

У меня есть форма с дополнительным адресным разделом.В этом разделе вы можете указать адрес улицы или почтового ящика.Я хочу обеспечить отправку только одного адреса, поэтому я хочу очистить другую форму, если пользователь вводит данные в другое поле ввода.

Мой код ниже не работает, есть идеи?Спасибо

$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
    $('#street_name_postal').val('');
}

Ответы [ 4 ]

3 голосов
/ 22 марта 2012

Предполагая, что #pobox_number является вводом с типом текста, событие изменения запускается только при размытии, поэтому ваш код может работать, но только не так, как вы ожидаете.

Вместо этого можно попробовать использовать событие нажатия клавишипоэтому ваш код будет выглядеть так:

$('#pobox_number').keypress(function() {
    if ($(this).val().length > 0) {
        $('#street_name_postal').val('');
    }
}
1 голос
/ 22 марта 2012

Ваш код выглядит нормально, за исключением отсутствующей закрывающей скобки для change.Вы должны иметь:

$('#pobox_number').change(function() {
    if ($(this).val().length > 0) {
        $('#street_name_postal').val('');
    }
});

Вот рабочий пример jsFiddle .

Тем не менее, я бы предложил вместо этого использовать blur, в противном случае пользователь можетпереходите назад и вперед между полями, и если значение не изменилось, событие не будет запущено.Вот пример подхода blur .

1 голос
/ 22 марта 2012

Ваш код должен работать, если идентификаторы элементов верны.Work = очистить значение для другого поля.

Но, если вы не хотите отправлять входные данные (даже если они пустые), вы должны убедиться, что атрибут name для этих элементовпусто, если атрибут name не установлен, данные не отправляются.

0 голосов
/ 03 апреля 2012

В итоге ответ оказался очень простым, я не был уверен, зачем мне нужно было так точно нацеливать элементы, но добавил ввод до того, как "#street_name_postal" добился цели.

$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('input#street_name_postal').val('');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...