Form con aggiunta righe

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
Buona sera a tutti.
Sto cercando questa soluzione da tempo, ma non la trovo. Premetto che sono un neofita dell'argomento php e html.
Ho creato, modificandolo, un javascript che aggiunge righe in un form.
Ora il problema è questo, aggiungendo righe i "name" diventano per esempio "nome1", "name2", "name3", etc, come posso inviarmi via email, con una pagina php, tutti i dati generati da questo form?
Vi posto il codice:
HTML:
<SCRIPT language="javascript">  
       var num=1
	    function addRow(tableID) {  
  
            var table = document.getElementById(tableID);  
  
            var rowCount = table.rows.length;  
            var row = table.insertRow(rowCount); 
			
            var cell1 = row.insertCell(0);  
            var element1 = document.createElement("input");  
            element1.type = "checkbox";  
            cell1.appendChild(element1);  
  
            var cell2 = row.insertCell(1);  
            cell2.innerHTML = rowCount + 1;  
  
            var cell3 = row.insertCell(2);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "cod"+num;  
			element2.placeholder = "Codice prodotto";
            cell3.appendChild(element2);  
			
			var cell3 = row.insertCell(3);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "des"+num;  
			element2.placeholder = "Descrizione";
            cell3.appendChild(element2); 
			
			var cell3 = row.insertCell(4);  
            var element2 = document.createElement("input");  
            element2.type = "text"; 
			element2.name = "forma"+num;  
			element2.placeholder = "Formato"; 
            cell3.appendChild(element2); 
			
			var cell3 = row.insertCell(5);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "quant"+num;  
			element2.placeholder = "Quantità";
            cell3.appendChild(element2); 
  
        }  
  
        function deleteRow(tableID) {  
            try {  
            var table = document.getElementById(tableID);  
            var rowCount = table.rows.length;  
  
            for(var i=0; i<rowCount; i++) {  
                var row = table.rows[i];  
                var chkbox = row.cells[0].childNodes[0];  
                if(null != chkbox && true == chkbox.checked) {  
                    table.deleteRow(i);  
                    rowCount--;  
                    i--;  
                }  
  
            }  
            }catch(e) {  
                alert(e);  
            }  
        }  
  
    </SCRIPT>  
	</head>
<body>
<h1>Ordine</h1>
<form id="form1" name="form1" method="post" action="invio.php">
<INPUT type="button" value="Aggiungi una Riga" onclick="addRow('dataTable')" />  
  
    <INPUT type="button" value="Cancella una Riga" onclick="deleteRow('dataTable')" />  
  
<TABLE id="dataTable" width="350px" border="1">  
        <TR>  
            <TD><INPUT type="checkbox" name="chk"/></TD>  
            <TD> 1 </TD>  
            <TD> <INPUT type="text" name="cod" id="cod" placeholder="Codice prodotto"> </TD>  
            <TD> <INPUT type="text" name="des" id="des" placeholder="Descrizione"/> </TD> 
            <TD> <INPUT type="text" name="forma" id="for" placeholder="Formato"/> </TD> 
            <TD> <INPUT type="text" name="quant" id="quant" placeholder="Quantità"/> </TD>  
        </TR>  
    </TABLE>
      <input type="submit" name="Invia ordine" id="Invia ordine" value="Invia Ordine" />
    </form>
    <p>&nbsp;</p>
</body>
</html>
mentre il php è questo:
PHP:
<?php
$cod=$_POST[cod];
$des=$_POST[des];
$forma=$_POST[forma];
$quant=$_POST[quant];

$destinatario = "[email protected]";

$oggetto = "Ordine";

$messaggio = "Codice articolo: $cod\n";
$messaggio .= "Descrizione: $des\n";
$messaggio .= "Formato: $forma\n";
$messaggio .= "Quantità: $quant\n";

$da = $email;
$intestazione = "From: $da";

mail($destinatario,$oggetto,$messaggio,$intestazione);

	    
?>

Grazie mille
 

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
Forse è meglio questo:
HTML:
<script language="JavaScript" type="text/javascript">
<!--
var num=1;
function accoda(){
    if(document.createElement && document.getElementById && document.getElementsByTagName) {
        // crea elementi
        var oTr=document.createElement("TR");
        var oTd1=document.createElement("TD");
        var oTd2=document.createElement("TD");
        var oField=document.createElement("INPUT");
            var oFieldB=document.createElement("INPUT"); 
			var oFieldC=document.createElement("INPUT"); 
			var oFieldD=document.createElement("INPUT"); 
        var oButt=document.createElement("INPUT");

        // setta attributi
        oField.setAttribute("type","text");
        oField.setAttribute("name","codice[]");
		oField.setAttribute("value","");
		oField.setAttribute("placeholder","Codice prodotto");
                oFieldB.setAttribute("type","text");
                oFieldB.setAttribute("name","descizione[]");
				oFieldB.setAttribute("value","");
				oFieldB.setAttribute("placeholder","Descrizione");
				oFieldC.setAttribute("type","text");
                oFieldC.setAttribute("name","formato[]"); 
				oFieldC.setAttribute("value","");
				oFieldC.setAttribute("placeholder","Formato");
				oFieldD.setAttribute("type","text");
                oFieldD.setAttribute("name","quanti[]");
				oFieldD.setAttribute("value",""); 
				oFieldD.setAttribute("placeholder","Quantita'");
        oButt.setAttribute("type","button");
        oButt.setAttribute("value","rimuovi");

        // setta gestore evento
        if(oButt.attachEvent) oButt. attachEvent('onclick',function(e){rimuovi(e);})
        else if(oButt.addEventListener) oButt. addEventListener('click',function(e){rimuovi(e);},false)

        // appendi al relativo padre
        oTd1.appendChild(oField);
            oTd1.appendChild(oFieldB); 
			oTd1.appendChild(oFieldC);
			oTd1.appendChild(oFieldD);
        oTd2.appendChild(oButt);
        oTr.appendChild(oTd1);
        oTr.appendChild(oTd2);
        document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);

        // incrementa variabile globale
        num++
    }
}


function rimuovi(e){
    if(document.removeChild && document.getElementById && document.getElementsByTagName) {
        if(!e) e=window.event;
        var srg=(e.target)?e.target:e.srcElement;

        // risali al tr del td che contiene l' elemento che ha scatenato l' evento
        while(srg.tagName!="TR"){srg=(srg.parentNode)?srg.parentNode:srg.parentElement}

        // riferimento al tbody
        var tb=document.getElementById('tabella').getElementsByTagName('TBODY')[0];
        
        // rimuovi
        tb.removeChild(srg);
    }
}
//-->
</script>
</head>
<body>
<form name="modulo" action="invio.php" method="post">
<input type="button" value="Aggiungi riga" onclick="accoda()" />
<table border="1" id="tabella">
<tbody>
<tr>
<td>

<input type="text" name="codice[]" value=""  placeholder="Codice prodotto"/>
<input type="text" name="descrizione[]" value="" placeholder="Descrizione"/> 
<input type="text" name="formato[]" value="" placeholder="Formato"/> 
<input type="text" name="quanti[]" value="" placeholder="Quantita'"/> 
</td><td>
<input type="button" disabled="disabled" value="rimuovi" />
</td>
</tr>
</tbody>
</table>


<input type="submit" name="Submit" value="Invia Ordine"></p>
</form>

</body>
</html>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Il problema è solo 'inviare una mail con i dati del form'?
Basta fare il submit del form e nella pagina 'di arrivo' prendi i dati dalla variabile $_POST (se usi il metodo post) e invii una mail tramite php_mailer o tramite swift_mailer o roba simile.
 

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
No Longo8, il problema è che aggiungendo le righe creo un numero indefinito di "name", dal quale prendo l'informazione de inviare via mail. Come recupero questi "infiniti" dati con un codice php?
 
Discussioni simili
Autore Titolo Forum Risposte Data
P rilevare dati db e inserirli in tabella con aggiunta form PHP 23
M Problema con controllo form in real time jQuery 6
M form con checkbox PHP 8
F query e form con select multipla PHP 17
W Rinominare Documenti Con Form Asp Classic ASP 9
S [PHP] Recupero nome immagine da Form con input file PHP 3
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
Domenico_Falco1 [Javascript] [HTML] Campi form con sfondo imposto dal browser Javascript 5
E Form inserimento dati con JavaScript Javascript 0
I [PHP] inviare form con allegato tramite una mail PHP 1
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
M [HTML] form con multipli input type image HTML e CSS 1
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
U [PHP] Form stessa pagina con qualche complicazione PHP 0
S [PHP] form con metodo get e recupero id PHP 4
michela90 [PHP] Refresh page on submit - Form con Swiftmailer PHP 14
Emix Problema con creazione form css/mobile HTML e CSS 3
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
L Scelta form con jquery jQuery 1
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
S Html con form e action .php PHP 6
bubino8 [PHP] Auto Submit form con dati PHP 7
W Consiglio su gestione di un form con XMLHttpRequest Ajax 0
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
T [Javascript] un form con select dinamica che funzioni da menù... Javascript 2
zammaeng [PHP] Problema form con lista PHP 8
B INSERIRE DATI CON IMMAGINE DA FORM IN MYSQL MySQL 7
V [PHP] Form con elenco a tendina con dati DB PHP 20
A [HTML] form con campi dinamici. HTML e CSS 1
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
S [PHP] Form iscrizione senza DB con comandi deprecated PHP 10
Fuego2806 Stampare dati Form su immagine di sfondo con html HTML e CSS 1
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
G validazione form con div tipo alert jQuery 0
M form php con checkbox PHP 4
D form php con chapta PHP 1
I Form/aree di testo con input da lista di nomi!Chiedo aiuto!! HTML e CSS 3
P invio mail da form con dati php PHP 7
P PHP mailer invio form con 2 allegati. PHP 3
M Form multipagina con campi già compilati se presenti PHP 5
B problema con i form Javascript 0
F controllo form php con restituzione errori nella form PHP 10
A form con inserimento multiplo PHP 4
9 eliminare righe di una tabella con form html PHP 6
P Aggiornare Tabella con form ma senza Mysql HTML e CSS 0
M carello della spesa con prodotti da un form PHP 0
E Form con campi allineamento HTML e CSS 4
S Form invio mail html, con invio tramite file denominato invio.php PHP 8

Discussioni simili