Originariamente inviato da Mich_
Si puo` fare, ma la tua domanda e` troppo generica.
Occorre sapere se i checkbox sono gli unici nel form e se le textarea sono le uniche nel form.
In alternativa (consigliabile) e` dare dei nomi opportuni a checkbox e textarea: ad esempio area0, canc0, area1, canc1, area2, canc2, ...
Poi e` comodo sapere quanti sono i campi (occorre che il server passi l'informazione al JS), e il nome del campo (consigliato un text) con il numero dei campi compilati.
Provo ad essere più preciso e a rispondere alle tue domande:
I campi textarea all'interno del form non sono unici ma insieme a questi ce ne sono anche altri che non devono essere interessati dallo script.
Il numero dei campi è variabile e vengono inseriti all'interno del form tramite uno script del genere:
codice:
Imput numero campi:
<input name="numberc" type="text" id="numTA" size="2">
<input name="button" type="button" onclick="generateTA()" value="ok">
Script Aggiunta Textarea:
<script type="text/javascript">
<!--
function generateTA() {
if (isNaN(document.getElementById('numTA').value)||parseInt(document.getElementById('numTA').value)>20) {
alert('Il valore deve essere numerico e compreso tra 1 e 20');
return;
} // if (isNaN(document.getElementById('numTA').value))
if (document.getElementById('numTA').value != parseInt(document.getElementById('numTA').value)) {
alert('Il numero deve essere intero');
return;
} // if (document.getElementById('numTA').value != parseInt(gdocument.etElementById('numTA').value))
html = "";
nb = document.getElementById('numTA').value;
for (i=0;i<nb;i++) {
idTA = "ta"+i;
textTA = '<table wifth="500" border="0" align="center" cellpadding="0" cellspacing="2"><td width="112" height="20" bgcolor="#CCCCCC"><span class="formtext">Colore n°'+i+':</span></td><td height="20" width="388" colspan="5" bgcolor="#CCCCCC" class="formtext"><input name="Color'+i+'" id="'+idTA+'" size="6"</td></tr></table>';
html += textTA;
} // for (i=0;i<nb;i++)
document.getElementById('container').innerHTML ="";
document.getElementById('container').innerHTML =html;
}
//-->
</script>
I campi, che vengono aggiunti dall'utente, hanno tutti lo stesso nome Color(numero) mentre la textarea che ne riepiloga il numero dovrebbe essere quella di imput dello script ossia:
codice:
<input name="numberc" type="text" id="numTA" size="2">