我正在尝试根据另一个输入字段的值自动填充文本字段。目前正试图使用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)
我到底错在哪里?或者有更好的方法吗?
答案 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 %>