njna
28-04-2008, 08:12
Buongiorno a tutti, ho adattato il codice seguente per un form costituito da 5 campi ma non riesco a farlo funzionare, sono ai primi approcci con javascript.
mi date una mano?
si tratta di un form costituito da una riga di 5 campi e cliccando sul pulsante "aggiungi" viene aggiunta una nuova riga al form. cliccando sul pulsante "genera" invece i dati immessi dovrebbero essere inviati alla pagina di gestione "ricevi.php" ma questo non riesce.
di seguito la pagina con il form:
<script language="JavaScript" type="text/javascript">
<!--
var i=2;
function add(){
if(document.createElement && document.getElementById && document.getElementsByTagName) {
var trContenitore=document.createElement("TR");
var tdC1=document.createElement("TD");
var tdC2=document.createElement("TD");
var tdC3=document.createElement("TD");
var tdC4=document.createElement("TD");
var tdC5=document.createElement("TD");
var inputC1=document.createElement("INPUT");
var inputC2=document.createElement("INPUT");
var inputC3=document.createElement("INPUT");
var inputC4=document.createElement("INPUT");
var inputC5=document.createElement("INPUT");
inputC1.setAttribute("type","text");
inputC1.setAttribute("name","c1"+i);
inputC2.setAttribute("type","text");
inputC2.setAttribute("name","c2"+i);
inputC3.setAttribute("type","text");
inputC3.setAttribute("name","c3"+i);
inputC4.setAttribute("type","text");
inputC4.setAttribute("name","c4"+i);
inputC5.setAttribute("type","text");
inputC5.setAttribute("name","c5"+i);
tdC1.appendChild(inputC1);
tdC2.appendChild(inputC2);
tdC3.appendChild(inputC3);
tdC4.appendChild(inputC4);
tdC5.appendChild(inputC5);
trContenitore.appendChild(tdC1);
trContenitore.appendChild(tdC2);
trContenitore.appendChild(tdC3);
trContenitore.appendChild(tdC4);
trContenitore.appendChild(tdC5);
document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(trContenitore);
i++;
}
}
//-->
</script>
<form name="modulo" action="ricevi.php" method="GET">
<table border="0" id="tabella">
<tbody>
<tr>
<td>c1</td>
<td>c2</td>
<td>c3</td>
<td>c4</td>
<td>c5</td>
</tr>
<tr>
<td><input type="text" name="c1" /></td>
<td><input type="text" name="c2" /></td>
<td><input type="text" name="c3" /></td>
<td><input type="text" name="c4" /></td>
<td><input type="text" name="c5" /></td>
</tr>
</tbody>
</table>
<div align="left">
<input type="button" value="aggiungi" onclick="add()"><br>
<input type="submit" value="Genera">
</div>
di seguito il codice che gestisce i dati.. "ricevi.php"
<?
$i=1;
$tempc1="campo1".$i;
$tempc2="campo2".$i;
$tempc3="campo3".$i;
$tempc4="campo4".$i;
$tempc5="campo5".$i;
while(isset($_GET[$tempc1])){
$c1{$i}=$_GET[$tempc1];
$c2{$i}=$_GET[$tempc2];
$c3{$i}=$_GET[$tempc3];
$c4{$i}=$_GET[$tempc4];
$c5{$i}=$_GET[$tempc5];
$i++;
$tempc1="campo1".$i;
$tempc2="campo2".$i;
$tempc3="campo3".$i;
$tempc4="campo4".$i;
$tempc5="campo5".$i;
}
$numeroinput=$i-1;
echo "Numero di input= ".$numeroinput."<br><br>";
for($k=1; $k<=$numeroinput;$k++){
echo "campo".$k."= ".$valore{$k}."<br>";
}
?>
grazie mille in anticipo a tutti
mi date una mano?
si tratta di un form costituito da una riga di 5 campi e cliccando sul pulsante "aggiungi" viene aggiunta una nuova riga al form. cliccando sul pulsante "genera" invece i dati immessi dovrebbero essere inviati alla pagina di gestione "ricevi.php" ma questo non riesce.
di seguito la pagina con il form:
<script language="JavaScript" type="text/javascript">
<!--
var i=2;
function add(){
if(document.createElement && document.getElementById && document.getElementsByTagName) {
var trContenitore=document.createElement("TR");
var tdC1=document.createElement("TD");
var tdC2=document.createElement("TD");
var tdC3=document.createElement("TD");
var tdC4=document.createElement("TD");
var tdC5=document.createElement("TD");
var inputC1=document.createElement("INPUT");
var inputC2=document.createElement("INPUT");
var inputC3=document.createElement("INPUT");
var inputC4=document.createElement("INPUT");
var inputC5=document.createElement("INPUT");
inputC1.setAttribute("type","text");
inputC1.setAttribute("name","c1"+i);
inputC2.setAttribute("type","text");
inputC2.setAttribute("name","c2"+i);
inputC3.setAttribute("type","text");
inputC3.setAttribute("name","c3"+i);
inputC4.setAttribute("type","text");
inputC4.setAttribute("name","c4"+i);
inputC5.setAttribute("type","text");
inputC5.setAttribute("name","c5"+i);
tdC1.appendChild(inputC1);
tdC2.appendChild(inputC2);
tdC3.appendChild(inputC3);
tdC4.appendChild(inputC4);
tdC5.appendChild(inputC5);
trContenitore.appendChild(tdC1);
trContenitore.appendChild(tdC2);
trContenitore.appendChild(tdC3);
trContenitore.appendChild(tdC4);
trContenitore.appendChild(tdC5);
document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(trContenitore);
i++;
}
}
//-->
</script>
<form name="modulo" action="ricevi.php" method="GET">
<table border="0" id="tabella">
<tbody>
<tr>
<td>c1</td>
<td>c2</td>
<td>c3</td>
<td>c4</td>
<td>c5</td>
</tr>
<tr>
<td><input type="text" name="c1" /></td>
<td><input type="text" name="c2" /></td>
<td><input type="text" name="c3" /></td>
<td><input type="text" name="c4" /></td>
<td><input type="text" name="c5" /></td>
</tr>
</tbody>
</table>
<div align="left">
<input type="button" value="aggiungi" onclick="add()"><br>
<input type="submit" value="Genera">
</div>
di seguito il codice che gestisce i dati.. "ricevi.php"
<?
$i=1;
$tempc1="campo1".$i;
$tempc2="campo2".$i;
$tempc3="campo3".$i;
$tempc4="campo4".$i;
$tempc5="campo5".$i;
while(isset($_GET[$tempc1])){
$c1{$i}=$_GET[$tempc1];
$c2{$i}=$_GET[$tempc2];
$c3{$i}=$_GET[$tempc3];
$c4{$i}=$_GET[$tempc4];
$c5{$i}=$_GET[$tempc5];
$i++;
$tempc1="campo1".$i;
$tempc2="campo2".$i;
$tempc3="campo3".$i;
$tempc4="campo4".$i;
$tempc5="campo5".$i;
}
$numeroinput=$i-1;
echo "Numero di input= ".$numeroinput."<br><br>";
for($k=1; $k<=$numeroinput;$k++){
echo "campo".$k."= ".$valore{$k}."<br>";
}
?>
grazie mille in anticipo a tutti