IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Traitement AJAX de lignes automatique


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 24
    Par défaut Traitement AJAX de lignes automatique
    Bonjour,

    Bon, ça fait un jour complet que je galère avec ce truc. Je vous prie de m'aider un peu ...

    J'ai actuellement ce code qui marche. Il présente au départ une ligne avec deux champs à remplir. Dès qu'on clique dessus ça en rajoute une, etc. J'aimerais que lorsqu'on clique sur une ligne, ça rentre les données dans la bdd en ajax. Une fois envoyé, on change : <div class=state>Pas envoyé</div>

    J'essaie de faire ça avec jQuery, mais j'ai du mal à savoir comment va devoir se présenter le truc. J'aurais bien fais un selector sur name="id" et name="surf". Mais après je sais pas quoi en faire, ni comment l'utiliser dans le $.post. Et encore moins comment gérer mon class=state.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <script src="http://code.jquery.com/jquery-1.5.js"></script>
     
     
    <table id="tableau">
    	<tr>
    		<th>Numéro de parcelle</th>
    		<th>Surface</th>
    		<th>État</th>
    	</tr>
    </table>
     
    <script>
    	var nbligne = 1;
     
    	document.write('<form action="/" id="addline">');
     
    	function nouvelleligne(nbligne){
    		return 	'<tr name="'+ nbligne +'"  onKeyPress="ajouterligne($(this));" onclick="ajouterligne($(this));">' +
    			'<td><input name="id" type="text" /></td>' +
    			'<td><input name="surf" type="text" /></td>' +
    			'<td><div class=state>Pas envoyé</div></td>' +
    			'</tr>';
    	}
     
    	// on crée la première ligne
    	var nouvelle_ligne = nouvelleligne(nbligne);
    	$(nouvelle_ligne).appendTo("#tableau");
     
    	document.write('</form>');
     
    	function ajouterligne(ligne){
    		// Si c'est la dernière ligne	
    		if(ligne.attr('name') == nbligne){
    			// On insert la nouvelle ligne
    			nbligne ++;
    			var nouvelle_ligne = nouvelleligne(nbligne);
    			$(nouvelle_ligne).insertAfter(ligne);
    			// on change la variable nbligne et on l'affiche 
    			$("#result").html("nb ligne = " + nbligne);
    		}
    	}
     
    </script>

    Bref un grand merci à ceux qui veulent bien prendre part.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    en gros tu as deux champs avec en bout de ligne pas envoyé
    tu renseignes les champs ça modifie "pas envoyé" en "enregistré" ??
    et ça rajoute deux champs en dessous ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 24
    Par défaut
    Edit : voir fin.

    Oui c'est ça.

    Quand on ajoute un caractère dans un formulaire ou quand on clique sur l'un deux :
    - ça ajoute une ligne si c'est la dernière ligne,
    - ça enregistre les deux formulaires.

    En fait voilà le truc mis à jour. J'ai réglé la plupart des problèmes.

    Ca ne marche toujours pas et je pense que le problème se trouve au niveau du commentaire "ICI". A mon avis ce qu'on met à la place de "ligne" n'est pas juste.

    Enfin si j'ai fais comme ça c'est parce que je pense que "ligne" correspond au "form" de la ligne et que ça envoit par POST tous ses input.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <script type="text/javascript" src="js/jquery.js">
    <script src="js/jquery.min.js"></script>
     
    <table id="tableau"></table>
     
    <script>
    	var nbligne = 1;
     
    	function nouvelleligne(nbligne){
    		return 	'<form action="/" name="'+ nbligne +'" onKeyPress="ajouterligne($(this));" onclick="ajouterligne($(this));">' +
    			'<input name="id" type="text" />' +
    			'<input name="surf" type="text" />' +
    			'</form>';
    	}
     
    	// on crée la première ligne
    	var nouvelle_ligne = nouvelleligne(nbligne);
    	$(nouvelle_ligne).appendTo("#tableau");
     
    	function ajouterligne(ligne){
     
    		// Si c'est la dernière ligne	
    		if(ligne.attr('name') == nbligne){
    			// On insert la nouvelle ligne
    			nbligne ++;
    			var nouvelle_ligne = nouvelleligne(nbligne);
    			$(nouvelle_ligne).insertAfter(ligne);
    		}
     
    		$(ligne).ajax({ //ICI
    			url:'traitement.php',
    			type: 'POST',
    			data: $(this).serialize(),
    			success: function(html) {
    				alert('ce que renvoie le fichier PHP' + html);
    			}
    		});	
    	}	
    </script>
    Edit : ça marche en remplaçant
    par
    Mais le .php ne me renvoie rien.

    Je croyais que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    success: function(html) {
                   alert('ce que renvoie le fichier PHP' + html); 
    }
    me renvoyait ce que renvoie le fichier PHP ??

    Ca suffit pas de mettre un "return $_REQUEST['id'];" dans traitement.php ?

    Merci encore !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    success: function(codehtml) {
    				alert('ce que renvoie le fichier PHP' + codehtml);
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 24
    Par défaut
    Tu as dû te tromper dans ton message !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ???

    tu utilises html ... c'est un mot reservé de jquery ... évite !!

    Ensuite ton code js est en plein milieu du form !


    j'ai des doutes sur la portée de this dans le
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. retour à la ligne automatique sur textarea
    Par jpastier dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/10/2005, 00h44
  2. Insérer une ligne automatiquement dans une autre tab
    Par davyd dans le forum Langage SQL
    Réponses: 10
    Dernier message: 29/03/2005, 17h08
  3. nombres d'images sur une lign automatique
    Par AnKhCHFR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/03/2005, 11h52
  4. [JOptionPane]retour à la ligne automatique ?
    Par Pill_S dans le forum Composants
    Réponses: 5
    Dernier message: 01/12/2004, 11h55
  5. [JTextPane] passage a ligne automatique.
    Par bibi-kha dans le forum Composants
    Réponses: 9
    Dernier message: 02/09/2004, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo