Invio Form con un Ciclo For

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Buongiorno,
devo sviluppare una funzione che mi permetti di inviare numerosi form, ho creato un ciclo for sia in php che nello script ma questo non funziona:
HTML:
<script type="text/javascript">
$(document).ready(function() {
for (i=0; i<8; i++) {
  $('input#cognome[i]').change(function() {
    var nome = $("#nome[i]").val();
    var cognome = $("#cognome[i]").val();
    $.ajax({
      type: "POST",
      url: "dati.php",
      data: "nome=" + nome + "&cognome=" + cognome,
      dataType: "html",
      success: function(msg)
      {
        $("#risultato[i]").html(msg);
      },
      error: function()
      {
        alert("Chiamata fallita, si prega di riprovare...");
      }
    });
  });
});
</script>
<?php for ($i=0;$i<8;++$i) {
echo "<form name='modulo'>
    <p>Nome</p>
    <p><input type='text' name='nome' id='nome".$i."'></p>
    <p>Cognome</p>
    <p><input type='text' name='cognome' id='cognome".$i."'></p>
    <input type='button' id='bottone".$i."' value='Invia i dati'>
</form>

<div id='risultato".$i."'></div>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
non me ne intendo molto di jq, ma così a naso mi sembra che nella jq crei un array
Codice:
$("#risultato[i]").html(msg);
ma poi nel div usi, anche se sembra simile, un'altra variabile
PHP:
<?php
//...........
<div id='risultato".$i."'></div>";
//...
?>
da quello che capisco nella jq ottieni #risultato[0]...#risultato[8]
mente in php ottieni
<div id='risultato0></div>....<div id='risultato8></div>
prova così
PHP:
//....
<div id='risultato[".$i."]'></div>";
se ho detto una caz...a cancella tutto
 

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Ciao e grazie per la risposta, effettivamente come l'ho scritto io è sbagliato, però il mio problema è che in php ci deve essere proprio scritto id="risultato1", id="risultato2", etc, quindi ho modificato jq con
HTML:
$("#risultato"+i).html(msg);
ma non va
 

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Ho modificato il form in modo tale di capire il problema in questo modo:
HTML:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
for (i=1; i<=8; i++) {
  $("#cognome"+ i).change(function() {
  alert (i);
  });
}
});
</script>
<?php for ($i=0;$i<8;++$i) {
echo "<form name='modulo'>
    <p>Cognome
    <input type='text' name='cognome' id='cognome".$i."'>
    <input type='button' id='bottone".$i."' value='Invia i dati'>
</form>

<div id='risultato".$i."'></div></p>";
}
?>
I mi mostra ogni volta 9, e non va bene....
Io ho bisogno che se invio l'input #cognome1, in jq mi prenda il valore dell'input e me lo invia al foglio dati.php.

Mi serve questo script perchè sto sviluppando un gestionale di magazzino e quando inserisco la quantità di un prodotto questo deve salvarmelo subito...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prima un paio di cose
nel js scrivi
for (i=1; i<=8; i++) { per cui cognome1...cognome8
poi nel php
for ($i=0;$i<8;++$i) { per cui cognome0...cognome7
poi dai al camo di input
name='cognome'
il name è quello che definisce l'invio e quindi in questo caso trasmetterà comunque solo l'ultimo valore inputato.
non vedo inoltre ne nel js ne nel form ne l'action dove deve inviare i dati ne il metod (post o get)
comunque trattandosi anche di js avviso criric che lo conosce bene di dare un occhio
 

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Hai perfettamente ragione, ho sistemato.
Per quanto riguarda l'action, il metod, etc l'ho fatto apposta perchè volevo capire prima il funzionamento dello script base.
Comunque il problema è proprio che prende l'ultima i e non cicla la funzione per ogni i, mi sa che mi manca un passaggio fondamentale!! :confused:
 

nicopres

Nuovo Utente
21 Mar 2013
23
0
0
Ho risolto modificandolo così:
HTML:
<script>
$(document).ready(function() {
 
      $('.cognome').change(function(){
       var id = $(this).attr("name");
       var cognome = $(this).val();   
       alert(cognome);
 
        }); 
 
    }); 
 
</script>
e il php è diventato
PHP:
<?php for ($i=1;$i<=8;++$i) {
echo "
<form name='modulo'>
    Cognome
    <input type='text' name='".$i."' class='cognome'>
</form>

<div id='risultato".$i."'></div></p>";
}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Invio form con PHP PHP 3
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
P invio mail da form con dati php PHP 7
P PHP mailer invio form con 2 allegati. PHP 3
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
L Recupero dati form in tabella e invio con ajax. Problemino jQuery 1
V problemi con l'invio di allegato in un form PHP 17
L Form con invio mail PHP 1
S [RISOLTO]invio form con select onchange Javascript 2
S Problema con l'invio del form in php PHP 0
E Form invio e-mail con allegato PHP 51
E Form invio e-mail con allegato PHP 0
L problemi con invio dati Form a Database PHP 2
N Form invio Mail con Allegato PHP 2
C problema invio mail con form php PHP 0
A Invio più form con singolo submit Javascript 0
S form invio mail con foto o logo PHP 46
C Problema con il doppio invio nel form con onsubmit HTML e CSS 9
L Aiuto con form invio email PHP 2
S form invio mail con opzioni PHP 3
SolidSnake4 invio file video con form php PHP 8
Z Un utente sconosciuto fa Spam con invio dai form del mio sito PHP 3
SolidSnake4 errore durante invio dati con form PHP 2
T Invio mail da form contatti con annesso file attachment Classic ASP 1
Z Banale invio dati da form con due campi e submit PHP 3
L Problemi con invio form via mail Classic ASP 3
K Problema invio dati form con ASP Classic ASP 8
F script asp invio mail con dati di un form Classic ASP 3
S form con invio errato HTML e CSS 5
A Tasto invio di un form con immagine.... Javascript 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
S Invio email da form PHP 8
U PHP bottone per invio mail o ritorno al form PHP 15
A [PHP] Invio automatico dati da form PHP 6
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
R [javascript]Form invio preventivo Javascript 0
paloppa [PHP] Invio mail da form dubbio PHP 17
F Form mail php errore invio PHP 5
S Problema invio form php/html PHP 3
Samuele Ronzani [PHP] Validazione e invio campi form. PHP 7
I form invio mail HTML e CSS 1
Francesco Polese Errore form invio mail+php PHP 22
Marco_88 Passare un valore prima dell'invio del form Ajax 0
G Form invio multiplo da database PHP 0
W Estrapolare un indirizzo mail di un form durante l'invio PHP 5
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
I invio mail da form PHP 1
W Modifica su invio dati da form PHP 4

Discussioni simili