2015-01-29 2 views
0
여기

내가 무엇을 가지고 지금까지 내가 여러에서이 작업을 수행 할 거울 (데이터 복사) 다른 텍스트 필드 만 (이상 4 개) 분야 :한 텍스트 필드에 입력 된 텍스트를 여러 텍스트 필드에 실시간으로 복사하려면 어떻게합니까?

<script type="text/javascript"> 
    function copyData(from,to) { to.value = from.value; } 
</script> 

<input type="text name="Company_Name__1" autofocus="focus" value="" size="20" required 
onChange="copyData(this,document.Broker_Opportunity.Company_Name__15)" onKeyUp="copyData(this,document.Broker_Opportunity.Company_Name__15)"> 

<input type="text" name="Company_Name__15" value="" size="20" required 
onChange="copyData(this,document.Broker_Opportunity.Company_Name__1)" onKeyUp="copyData(this,document.Broker_Opportunity.Company_Name__1)"> 
+0

그래서 한 텍스트 필드에서 여러 대상 텍스트 필드로 복사 하시겠습니까? – ArinCool

답변

2

당신은 매개 변수의 배열로 사용할 수 있습니다 요소 ID. 그런 다음이

copyData(this, ['id1', 'id2']); 

같은 것을, 당신은 for 루프에 배열을 반복하고 요소를 얻고 값을 복사 document.getElementById를 사용해야합니다. 이 같은 구조를 유지하려면

1

: 다음

function copyData(from,to) { 
    to.value = from.value; 
} 

을 합리적으로 to 값은 여러 값되어야한다. 배열을 의미합니다. 이런 식으로 뭔가 :

다음
function copyData(from,to) { 
    for (var i = 0; i < to.length; i++) { 
     to[i].value = from.value; 
    } 
} 

이를 사용하는 당신은 단지 하나의 요소 대신 그것을 배열을 전달할 것 :

<input type="text name="Company_Name__1" autofocus="focus" value="" size="20" required 
     onChange="copyData(this,[document.Broker_Opportunity.Company_Name__15, document.someOtherElement])" 
     onKeyUp="copyData(this,[document.Broker_Opportunity.Company_Name__15, document.someOtherElement])"> 
1

는 HTML 코드가 대상을 식별하기 위해 공통 class 값을 사용 단순화하기 텍스트 필드 :

HTML 코드 :

<input type="text name="Company_Name__1" autofocus="focus" value="" size="20" required 
     onChange="copyData(this,'your_class')" 
     onKeyUp="copyData(this,'your_class')"> 

JS 코드 :

function copyData(from, dest_class) { 
     var toArr = document.getElementsByClassName(dest_class); 
     for (var i = 0; i < toArr.length; i++) { 
      toArr[i].value = from.value; 
     } 
    } 
관련 문제