Ciao a tutti,
ho questo problema, ho creato un form con alcuni campi che vengono aggiunti con jquery mediante una funzione onClick.
una volta inseriti i dati, non riesco ad inviarli tutti, ma mi viene stampata (ho fatto varie prove con console.log) solo l'ultima serie di dati.
ho provato varie combinazioni, premetto che non sono un esperto, ho imparato leggendo qui e la e da autodidatta, di cicli $.each, ma senza successo. Solo se creo un $.each singolo per ogni input riesco ad avere tutti i dati, poi però non riesco a riunirli ed inviarli.
questo è il codice del form, è all'interno di una funzione php
e questo è invece il codice per la creazione dei nuovi input per l'inserimento dei dati
Spero che qualcuno riesca a darmi una mano, perchè sono fermo da 10 giorni, le ho provate tutte le soluzioni che mi venivano in mente, ma niente.....
Grazie
ho questo problema, ho creato un form con alcuni campi che vengono aggiunti con jquery mediante una funzione onClick.
una volta inseriti i dati, non riesco ad inviarli tutti, ma mi viene stampata (ho fatto varie prove con console.log) solo l'ultima serie di dati.
ho provato varie combinazioni, premetto che non sono un esperto, ho imparato leggendo qui e la e da autodidatta, di cicli $.each, ma senza successo. Solo se creo un $.each singolo per ogni input riesco ad avere tutti i dati, poi però non riesco a riunirli ed inviarli.
questo è il codice del form, è all'interno di una funzione php
PHP:
$out='<div id="ordine">';
$out.='<form action="?azione=test" method="post" enctype="multipart/form-data">';
$out.='<legend class="margin_left margin_top"><h2>INSERIMENTO ORDINE DI ACQUISTO</h2></legend>';
$out.='<div class="margin_left margin_top"><h2>Data ordine:</h2><input type="date" name="data_ordine" required></div>';
$out.='<div class="margin_left margin_top">';
$out.='<h2>Centrale di acquisto:</h2><h3>(* inserire almeno 3 caratteri)</h3>';
$out.='<div class="float_left"><input class="ui-widget" name="nome_location" id="nome_location" required placeholder="inserire la sede"/></div>';
$out.='<div><input type="hidden" class="ui-widget" name="id_location" id="id_location" val=""/></div>';
$out.='</div>';
$out.='<div class="pulisci"></div>';
$out.='<div class="margin_left margin_top">';
$out.='<h2>Fornitore:</h2><h3>(* inserire almeno 3 caratteri)</h3>';
$out.='<div><input type="text" class="ui-widget" name="cognome" id="cognome_fornitore" val="" required placeholder="inserire il fornitore"/></div>';
$out.='<div><input type="hidden" class="ui-widget" name="id_fornitore" id="id_fornitore" val=""/></div>';
$out.='<div id="nuovo_fornitore" class="button_new margin_top" ><h3><a class="text_white" href="" onClick=" return false">Carica un nuovo fornitore</a></h3></div>';
$out.='</div>';
$out.='<div class="pulisci"></div>';
$out.='<div id="lista_prodotti">';
$out.='<div class="aggiungi_prodotto button_new margin_left margin_top float_left" ><h3><a class="text_white" href="" onClick="return false">aggiungi un prodotto all\'ordine</a></h3></div>';
$out.='<div id="elimina_prodotto" class="button_new margin_left"><h3 class="text_white"><a href="" class="text_white" onClick="return false">elimina dall\'ordine</a></h3></div>';
$out.='<div id="nuovo_prodotto" class="button_new margin_left"><h3 class="text_white"><a href="" class="text_white" onClick="return false">carica un nuovo prodotto</a></h3></div>';
$out.='<div class="pulisci"></div>';
$out.='<div id="ordine_prodotto" class="margin_left margin_top ordine">';
$out.='<div class="float_left" ><h3>Prodotto:</h3><input id="nome_prodotto" class="prodotto" type="text" name="product" required placeholder="nome prodotto"/></div>';
$out.='<div><input type="hidden" class="ui-widget" name="id_prodotto" id="id_prodotto" val=""/></div>';
$out.='<div class="float_left margin_left" ><h3>Quantità:</h3><input type="number" id="val_qnt" class="val_qnt" name="quantity" required placeholder="quantità prodotto"/></div>';
$out.='<div class="float_left margin_left"><h3>Tipo quantità:</h3><select id="type_qnt" class="type_qnt" name="type_qnt"><option value="">Selezione il tipo quantità</option><option value="grammi">Grammi</option><option value="kg">Kg</option><option value="unità">Unità</option><option value="confezione">Confezione</option></select></div>';
$out.='</div>';
$out.='<div class="pulisci"></div>';
$out.='</div>';
$out.='<div><input id="submit" class="button_new margin_left margin_top text_white" type="submit" value="invia" onClick="return false"/></div>';
$out.='<div class="pulisci"></div>';
$out.='</form>';
e questo è invece il codice per la creazione dei nuovi input per l'inserimento dei dati
HTML:
$('.aggiungi_prodotto').on('click', 'a', function(e){
e.preventDefault()
var product = '<div class="float_left" ><h3>Prodotto:</h3><input type="text" id="nome_prodotto" class="autocomplete prodotto" name="product" required placeholder="nome prodotto"/></div>'
var quantity ='<div class="float_left margin_left" ><h3>Quantità:</h3><input class="val_qnt" type="text" name="quantity" required placeholder="quantità prodotto"/></div>';
var type_qnt ='<div class="float_left margin_left"><h3>Tipo quantità:</h3><select class="type_qnt" name="type_qnt"/></select></div>';
var option_type_qnt ='<option value="">Selezione il tipo quantità</option><option value="grammi">Grammi</option><option value="kg">Kg</option><option value="unità">Unità</option><option value="confezione">Confezione</option>';
var pulisci = '<div class="pulisci"></div>';
str_html = '<div id="ordine_prodotto" class="margin_top margin_left ordine">' + product + quantity + type_qnt + pulisci + '</div>';
$('#lista_prodotti').append(str_html);
$('#ordine_prodotto').insertAfter('#ordine_prodotto:last');
$('.type_qnt').append(option_type_qnt);
var name_product = $('#nome_prodotto');
$.each(name_product, function(){
$('.autocomplete').autocomplete({
source: "ris_location.php?azione=prodotti",
minLength: 3,
});
});
});
Spero che qualcuno riesca a darmi una mano, perchè sono fermo da 10 giorni, le ho provate tutte le soluzioni che mi venivano in mente, ma niente.....
Grazie