Автоматическое заполнение текстового поля на основе другого текстового поля - PullRequest
0 голосов
/ 19 апреля 2010

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

<%= observe_field(
        :account_name, 
        :function => "alert('Name changed!')",
        :on => 'keyup'
    ) %>

<% form_for(@account, :html => { :id => 'theform' }) do |f| %>
    <label for="accountname"> Account name </label>
    <%= form.text_field :name, :tabindex => '1' %>
    <label for="subdomain"> Subdomain </label>
    <%= form.text_field :subdomain, :tabindex => '2' %>
<% end %>

Когда пользователь вводит текст в текстовое поле account_name, я хочу скопировать его, преобразовав в поддомен (в нижнем регистре и присоединить с помощью '-'), и заполнить его субдоменом text_field.

Но, в процессе получения этой ошибки:

element is null
   var method = element.tagName.toLowerCase();   protot...9227640 (line 3588)

Где именно я здесь не так? Или есть лучший способ сделать это?

1 Ответ

0 голосов
/ 19 апреля 2010

Поместите ваше поле наблюдения в тег формы и повторите попытку.

EDITED

Ваше поле наблюдения должно быть после того, что оно наблюдает.

Надеюсь, это поможет:)

Например: -

<% form_for(@account, :html => { :id => 'theform' }) do |f| %>
    <label for="accountname"> Account name </label>
    <%= form.text_field :name, :tabindex => '1' %>


<%= observe_field(
        :account_name, 
        :function => "alert('Name changed!')",
        :on => 'keyup'
    ) %>
    <label for="subdomain"> Subdomain </label>
    <%= form.text_field :subdomain, :tabindex => '2' %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...