根据其他文本字段自动填充文本字段

时间:2010-04-19 06:58:14

标签: javascript ruby-on-rails

我正在尝试根据另一个输入字段的值自动填充文本字段。目前正试图使用​​observe_field助手这样做:

<%= 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中输入文本时,我想将该转换复制到子域(downcase并通过' - '连接)并填充到子域text_field。

但是,在获取此错误的过程中:

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

我到底错在哪里?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

将“observe_field”放在表单标记内,然后重试。

EDITED

你的observe_field需要在它正在观察的东西之后。

希望有所帮助:)

例如: -

<% 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 %>