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

AJAX Discussion :

AJAX - id et valider vides


Sujet :

AJAX

  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Par défaut AJAX - id et valider vides
    Bonjour,
    J'utilise un ajax, mais qui ne semble pas être capable de récupérer les valeurs que je passe dans un tableau.
    Code HTML : 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
     
    	<tbody>
    		{% for elementListePointage in listeDePointage %}
    			<tr>
    					<td>{{ elementListePointage.formation }}</td>
    					<td>{{ elementListePointage.date }}</td>
    					<td>{{ elementListePointage.dateCours }}</td>
    					<td></td>
    					<td><span class="badge badge-pills bg-info text-light">{{ elementListePointage.plageHoraireJustifAbsence }}</span></td>
    					<td>{{ elementListePointage.cours }}</td>
    					<td>{{ elementListePointage.prenomUtilisateur }} {{ elementListePointage.nomUtilisateur }}</td>
    					<td>{{ elementListePointage.nomUtilisateur }}</td>
    					<td ><a target="_blank" href="{{ asset('uploads/justifications/' ~ elementListePointage.lienFichier) }}">
    						<img style="margin: 0 35%" width="30" height="30" src="/uploads/logo_download.png"></a>
    					</td>				
    					<td></td>
    					<td>
    					<div style="display: inline-block">
    						<input type="text" value="{{ elementListePointage.id }}" class="abs_id">
    						<input type="hidden" value="{{ elementListePointage.prenomUtilisateur }} {{ elementListePointage.nomUtilisateur }}" class="abs_etudiant">
    						<input type="hidden" value="{{ elementListePointage.email }}" class="abs_mail">
    						{% if elementListePointage.valider == "0" %}
    						<select type="text" class="form-control col-lg-12 valider Selector" style="color:orange">
    								<option style="color:orange;" value="0">En attente de validation</option>
    								<option style="color:red;" value="1">Justification refusée</option>
    								<option style="color:green;" value="2">Justification validée</option>
    						</select>
    						{% endif %}
    					</div>
    					<div class="statutJustif">Etat modifié!</div>
    					</td>
    					<td></td>
    					<td></td>
    					<td></td>
    			</tr>
    		{% endfor %}
    	</tbody>
    Mes 2 ajax:
    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
     
      $(".Selector").change(function(){
    	  changeListener();
      })
      //document.getElementsByClassName("Selector").onchange = changeListener;
        function changeListener(){
    		$.ajax({
    			method: "POST",
    			url: "/admin/panel/AbsenceUpdateState",
    			data: { id: $(this).closest('tr').find('.abs_id').val(),
    					valider: $(this).closest('tr').find('.valider').val()
    				  }
    			})
    			.done(function( msg ) {
    				alert( "Data Saved: " + msg );
    			})
    			.fail(function() {
    				alert("error update");
    			});
    		$.ajax({
    			method: "POST",
    			url: "/admin/panel/AbsenceSendMail",
    			data: { id: $(this).closest('tr').find('.abs_id').val(),
    					etudiant: $(this).closest('tr').find('.abs_etudiant').val(),
    					mail: $(this).closest('tr').find('.abs_mail').val()
    				  }
    			})
    			.done(function( msg ) {
    				//alert( "Data Saved: " + msg );
    			})
    			.fail(function() {
    				alert("error mail");
    			})
        }
    Le visuel: Nom : EX.png
Affichages : 103
Taille : 27,5 Ko
    L'erreur de l'update se déclenche.

    Une idée? Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    $(this) ne représente rien.

    1- Au minimum, il faut le passer/transmettre en paramètre de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(".Selector").change(function(){
    	  changeListener( $(this) );
      })
      //document.getElementsByClassName("Selector").onchange = changeListener;
        function changeListener( elt ){
    		$.ajax({
    			method: "POST",
    ... // ici, on remplace $(this) par elt
    2- Ou se passer de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(".Selector").change(function(){
    		$.ajax({
    			method: "POST",
    ... // ici, on peut garder $(this).......
    })

Discussions similaires

  1. Réponses: 8
    Dernier message: 24/06/2009, 11h19
  2. [AJAX] code ajax m'affiche un vide
    Par dimainfo dans le forum AJAX
    Réponses: 2
    Dernier message: 11/05/2009, 14h12
  3. [AJAX] liste dynamique restant vide >> XMLHTTPREQUEST
    Par sativa808 dans le forum Général JavaScript
    Réponses: 31
    Dernier message: 14/08/2008, 10h46
  4. [AJAX] IE7, responseXML toujours vide
    Par Morphinof dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/10/2007, 18h25
  5. Réponses: 3
    Dernier message: 01/03/2007, 09h08

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