Как динамически заполнить поле ввода текста в CakePHP, используя Ajax? - PullRequest
0 голосов
/ 02 октября 2009

У меня есть форма «Добавить человека» с несколькими полями (имя, адрес, номер телефона и т. Д.).

Я хочу иметь возможность предварительно заполнить некоторые поля, используя информацию из других полей, ДО отправки формы. Например, когда пользователь вводит город, Ajax-запрос извлекает код города для телефонного номера (у контроллера есть база данных "код города в город") и помещает его в поле номера телефона, надеясь, что он сохранит немного печатать.

Я пытался использовать наблюдаемое поле, но похоже, что оно может изменить только innerHTML элемента, но не значение поля ввода.

Любые предложения о том, как идти? Спасибо.

Ответы [ 2 ]

1 голос
/ 02 октября 2009

Предположим, у вас есть две формы:

<form id="formOriginal">
    <input type="text" name="name"/>
    <input type="text" name="address"/>
    <input type="text" name="city"/>
    <input type="text" name="state"/>
</form>

<form id="formCopy">
    <input type="text" name="name"/>
    <input type="text" name="address"/>
    <input type="text" name="city"/>
    <input type="text" name="state"/>
</form>

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

$('#formOriginal input').each(function(e) {
    var name = e.attr('name');
    var $copy = $('#formCopy input[@name=' + name + ']');

    if ($copy) {
        $copy.val($(e).val());
    }
});
1 голос
/ 02 октября 2009

Если вы хотите изменить значение при вводе текста, вы можете использовать .val ()

Так что в вашем успехе Ajax у вас будет обратный вызов:

success: function(data){
  $('#foo').val(data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...