2010-04-19 2 views
0

다른 입력 필드의 값을 기반으로 텍스트 필드를 자동 채우려 고합니다. 현재이 같은이 observe_field 사용하여 도우미 일을하려고 :다른 텍스트 필드를 기반으로 텍스트 필드 자동 채우기

사용자가 계정 이름의 text_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 %> 

, 나는 하위 도메인으로 변환 ('-'와 downcase에 의해 가입)이 복사하려는 및 하위 도메인 채우기 text_field.

는하지만,이 오류를 얻는 과정에서 :

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

어디 정확히 내가 잘못 여기에 갈거야? 아니면 이것을 할 수있는 더 좋은 방법이 있습니까?

+0

당신이 게시 오류를 생산하고있어 실제 코드를 게시 한 코드인가? 나는 왜 그것이'toLowerCase()'를하려고하는지 보지 못한다. –

+1

예. 이것은 실제 코드입니다! –

답변

0

"observe_field"를 양식 태그 안에 넣고 다시 시도하십시오.

당신의 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 %> 
+0

도움이되지 않습니다. 같은 오류가 발생합니다! –

+0

내 수정 답변을 확인하십시오. – Salil

+0

차가움. 공장. 감사. –

관련 문제