Buongiorno a tutti.
Ho un form di registrazione con campi input e due bottoni (uno per aggiungere campi al form e l'altro per salvare i dati nel db.
Ho un problema nel salvataggio in quanto mi salva tutti i dati ad eccezione della data di nascita e dello stato occupazionale (le altre select le salva tranquillamente).
Di seguito il codice
la funzione moreFields èCodice HTML:<form method="post" id="ciao" action="gestione.php"> <div id="readroot" style="display: none"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3"> <label for="form-nome">Nome</label> <input type="text" name="Nome[]" class="form-control field" id="form-nome" /> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3"> <label for="form-cognome">Cognome</label> <input type="text" name="Cognome[]" class="form-control field" id="form-cognome" /> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3"> <label for="form-luogonascita">Luogo di nascita</label> <input type="text" name="LuogoNascita[]" class="form-control field" id="form-luogonascita" /> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3"> <label for="form-datanascita">Data di nascita</label> <input type="text" name="DataNascita[]" placeholder="GG/MM/AAAA" class="form-control field" id="form-datanascita" /> </div> <div class="row"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-1"> <label for="form-sesso">Sesso</label> <select name="Sesso[]" class="form-control field" id="form-sesso"> <option value="" selected="selected" disabled="disabled">...</option> <option value="M">M</option> <option value="F">F</option> </select> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> <label for="form-cfiscale">Codice fiscale</label> <input type="text" name="CodiceFiscale[]" class="form-control field" id="form-cfiscale" /> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-3"> <label for="form-cittadinanza">Cittadinanza</label> <input type="text" name="Cittadinanza[]" class="form-control field" id="form-cittadinanza" /> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> <label for="form-ruolo">Ruolo Componente</label> <select name="IDRuoloFamiglia[]" class="form-control field" id="form-ruolo"> <option value="" selected="selected" >Seleziona ruolo componente...</option> <option value="1">Padre</option> <option value="2">Madre</option> <option value="3">Figlio/a</option> <option value="4">Nonno/a</option> <option value="5">Zio/a</option> <option value="6">Fratello</option> <option value="7">Sorella</option> <option value="8">Tutore/Curatore</option> </select> </div> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> <label for="form-soccupazionale">Stato occupazionale</label> <select name="IDStatoOccupazionale[]" class="form-control field" id="form-soccupazionale"> <option value="" selected="selected" disabled="disabled">Seleziona stato occupazionale...</option> <option value="1">Occupato/a</option> <option value="2">Disoccupato/a</option> <option value="3">Inoccupato/a</option> <option value="4">Pensionato/a</option> <option value="5">Studente/essa</option> <option value="6">Invalido/a</option> </select> </div> <div class="col-xs-12 col-sm-3 col-md-3 col-lg-4"> <label for="form-telefono">Telefono</label> <input type="text" name="Telefono[]" placeholder="+39" class="form-control field" id="form-telefono" /> </div> <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4"> <label for="form-email">E-mail</label> <input type="text" name="Email[]" placeholder="es. paolo.rossi@gmail.com" class="form-control" id="form-email" /> </div> </div> <div class="row"><h3 class="form-title"><span>Informazioni HF</span></h3> <div class="col-xs-12 col-sm-3 col-md-3 col-lg-3"> <label for="form-regione">Regione</label> <input type="text" name="Regione[]" class="form-control field" id="form-regione" /> </div> <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4"> <label for="form-comune">Comune</label> <input type="text" name="Comune[]" placeholder="Priolo (Siracusa)" class="form-control field" id="form-comune" /> </div> <div class="col-xs-12 col-sm-5 col-md-4 col-lg-1"> <label for="form-cap">Cap</label> <input type="text" name="Cap[]" class="form-control field" id="form-cap" /> </div> <div class="col-xs-12 col-sm-5 col-md-4 col-lg-4"> <label for="form-abitazione">Indirizzo Abitazione </label> <input type="text" name="Indirizzo[]" placeholder="es. Via delle vie, 3" class="form-control field" id="form-abitazione" /> </div> <div class="col-xs-12"> <label for="form-email">Note aggiuntive</label> <textarea class="form-control low-hight" cols="4" rows="4" name="Note[]"></textarea> </div> </div> </div> <div class="row components"></div> <span id="writeroot"></span> <input type="button" id="btnMore" onclick="moreFields();" value="Give me more fields!" /> <input type="submit" value="Send form" /> </form>
Quindi faccio una chiamata Ajax (credo e spero sia giusta) per inviare tutti i dati alla scrittura nel dbCodice HTML:<script type="text/javascript"> var counter = 0; function moreFields() { counter++; var newFields = document.getElementById('readroot').cloneNode(true); newFields.id = ''; newFields.style.display = 'block'; var newField = newFields.childNodes; for (var i=0;i<newField.length;i++) { var theName = newField[i].name; if (theName) newField[i].name = theName + counter; } var insertHere = document.getElementById('writeroot'); insertHere.parentNode.insertBefore(newFields,insertHere); } window.onload = moreFields; </script>
Codice HTML:$(document).ready(function() { $("#ciao").submit(function(){ var querystring = $('#ciao').serialize(); $.ajax({ url: '/result.php', type: "POST", data: querystring, success: function(data) { $("div#result2").html(data); } }); return false; }); });