2011-04-19 7 views
1

myform 체크 박스를 기반으로 폼을 만들려고합니다.자바 다른 폼을 기반으로 폼을 만드는 방법

myform2는 myform2의 모든 체크 박스에 동일한 입력 필드가 있어야합니다.

어떻게해야합니까?

<h1>Heading 1</h1> 
<form name="myform" method="POST" action="/cgi-bin/script.cgi"> 
<input name="box1" type="checkbox" value="Bike" /> 
<input name="box2" type="checkbox" value="Car" /> 
</form> 
<h2>Heading 2</h2> 
<form name="myform2" method="POST" action="/cgi-bin/script.cgi"> 
<script type="text/javascript"> 
var i=5; 
var b=0; 
while (b<=i) { 
    document.write('<br />' + '<input type="checkbox"' + 'value="Bike"' + '/>' + '<label for="male">'+ "Male" + '</label>') 
} 
</script> 
</form> 
+0

jQuery는 2-liner가 될 것입니다. 순수한 자바 스크립트를 사용하면 브라우저 간 호환성에 대해 더 많은 것을 쓰고 결국 걱정해야합니다. –

+0

jQuery로 어떻게 완료했는지 보여 줄 수 있습니까? –

+0

그래서 myForm2의 모든 필드와 값을 myForm2에 넣길 원하십니까? –

답변

1

당신이 JQuery와 함께이 라인을 따라 뭔가 작업을 수행 할 수 있습니다

$('form:eq(0) input').clone().appendTo('form:eq(1)'); 

그것은 페이지의 첫 번째 양식 요소 아래의 모든 input DOM 요소를 복제하고 두 번째 폼 요소에 넣어해야합니다 페이지. 이것을 테스트하지는 않았지만, 당신이 찾고있는 것을 잘하면 될 것입니다. 당신은 단지 확인 입력 요소를 복사하고 싶다면

, 당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

$('form:eq(0) input:checked').clone().appendTo('form:eq(1)'); 

당신이 라디오 버튼을 체크 한 경우는 그 복제 너무, 당신은 당신이 가진 것을 방지하려면

$('form:eq(0) input:checkbox').filter(':checked').clone().appendTo('form:eq(1)'); 

이 유형] 확인란하고 확인 만 입력 요소를 통해 복사해야합니다 :의 라인을 따라 뭔가 될 것이다, 애호가 여전히 얻을 수 있습니다.

+0

그것들 만 복제 할 수 있습니까? –

+0

위의 코드는 첫 번째 양식에서 모든 입력 요소를 선택하기 만합니다. 확인란을 선택하기 만하면 선택자와 조금 더 어울려야합니다. 대답을 업데이트 할 것입니다. – skorks

0

가는 길 (내 견해로는)은 skorks' answer입니다. 하지만 도서관이 없으면 할 수있는 선택의 여지가 없다면 여기에 도서관이 있습니다. 당신이 생성 checkboxeslabels에 대한 데이터를 얻을 곳 그런데

<h1>Heading 1</h1> 
<form name="myform" method="POST" action="/cgi-bin/script.cgi"> 
<input name="box1" type="checkbox" value="Bike" checked /> 
<input name="box2" type="checkbox" value="Car" /> 
</form> 

<h2>Heading 2</h2> 
<form name="myform2" method="POST" action="/cgi-bin/script.cgi"> 

<script type="text/javascript"> 

var my_form = document.forms[0]; 
var num_inp = my_form.elements.length; 
var me, i; 
for (i=0; i<num_inp; i++) { 
    me = my_form.elements[i]; 
    if(me.type === "checkbox" && me.checked) 
    document.write('<input type="checkbox" value="' + me.value + '" name="' + me.name + '" checked /> ' + me.value + '<br/>'); 
} 

</script> 
</form> 

, 그것은 명확하지 않다, 최선의 선택은 checkboxvalue하고 있었고, 난 그것을 사용했다.

관련 문제