2011-04-19 36 views
1

我正在嘗試製作基於myform選中複選框的表單。Javascript如何基於另一種表格製作表格

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中,如果使用純javascript,那麼您將需要編寫更多的代碼,並最終擔心跨瀏覽器兼容性問題。 – 2011-04-19 07:41:57

+0

你能告訴我它是如何用jQuery完成的嗎? – 2011-04-19 07:44:24

+0

所以你想讓myForm2擁有myForm的所有字段及其值? – 2011-04-19 07:45:39

回答

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

它是否只克隆它們? – 2011-04-19 20:04:50

+0

上面將簡單地選擇第一種形式下的所有輸入元素。如果你只想選中複選框,你必須對選擇器有點興趣,我會更新答案。 – skorks 2011-04-20 01:54:12

0

走的路(在我看來)是你在skorks' answer看到的。但如果除了沒有圖書館的情況下沒有其他選擇,這裏是js做的。

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

順便問一下,你在哪裏得到的產生checkboxeslabels的數據,目前尚不清楚,最好的選擇是checkboxvalue,我使用的。

相關問題