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 :

Récupérer l'objet à l'origine de l'évènement Onchange [AJAX]


Sujet :

jQuery

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut Récupérer l'objet à l'origine de l'évènement Onchange
    Bonjour,

    J'ai une liste de champs (imput, select ....) créée dynamiquement (créé par les utilisateurs) et je voudrais mettre en place la mise a jour d'une base de données dès que l'utilisateur change une champs.

    le problème est que je pense qu'il existe une methode qui me permettrrais de gérer cela dynamiquement et ne pas être obliger de créer une une "function ajax" pour chaque champs

    pouvez-vous me dire comment faire

    voici le code que j'ai mis en place


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    $(document).ready(function() {
    	$("#Submit").click(function (e) {
    		e.preventDefault();
    		$("#Submit").hide(); //hide submit button
    		$("#LoadingImage").show(); //show loading image
    	 	var myData = 'Field='+ $("#value").val(); //build a post data structure
    		jQuery.ajax({
    			type: "POST", // HTTP method POST or GET
    			url: "response.php", //Where to make Ajax calls
    			dataType:"text", // Data type, HTML, json etc.
    			data:myData, //Form variables
    			success:function(response){
    				$("#responds").append(response);
    				$("#contentText").val(''); //empty text field on successful
    				$("#FormSubmit").show(); //show submit button
    				$("#LoadingImage").hide(); //hide loading image
    			},
    			error:function (xhr, ajaxOptions, thrownError){
    				$("#FormSubmit").show(); //show submit button
    				$("#LoadingImage").hide(); //hide loading image
    				alert(thrownError);
    			}
    		});
    	});
    	//##### Send delete Ajax request to response.php #########
    	$("body").on("click", "#responds .del_button", function(e) {
    		 e.preventDefault();
    		 var clickedID = this.id.split('-'); //Split ID string (Split works as PHP explode)
    		 var DbNumberID = clickedID[1]; //and get number from array
    		 var myData = 'recordToDelete='+ DbNumberID; //build a post data structure
    		$('#item_'+DbNumberID).addClass( "sel" ); //change background of this element by adding class
    		$(this).hide(); //hide currently clicked delete button
    		jQuery.ajax({
    			type: "POST", // HTTP method POST or GET
    			url: "response.php", //Where to make Ajax calls
    			dataType:"text", // Data type, HTML, json etc.
    			data:myData, //Form variables
    			success:function(response){
    				//on success, hide  element user wants to delete.
    				$('#item_'+DbNumberID).fadeOut();
    			},
    			error:function (xhr, ajaxOptions, thrownError){
    				//On error, we alert user
    				alert(thrownError);
    			}
    		});
    	});
      //la partie de code pour la onchange
       $('body').change(function(){
    		???????
       });
    });
    la partie HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <tr>
    	<td><input class="ValueX" id="ID-1" type="text"  name="Value1" value=""></td>
    </tr>
    <tr>
    	<td><input class="ValueX" id="ID-2" type="text"  name="Value2" value=""></td>
    </tr>
    ....
    <tr>
    	<td><input class="ValueX" id="ID-2" type="text"  name="ValueN" value=""></td>
    </tr>

    merci de votre aide

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    a y est j'ai trouvé tout seul

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       $('.ValueX').change(function() {
    		alert($(this).val());
     
       });

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Bonjour,

    je reviens concernant ma question précédente, en effet j'ai trouve le moyen de récupérer l'objet déclancheur

    Mais j'ai associé le click d'un input type submit avec l'initialisation d'un autre input de type text (javascript)

    Maintenant que je sais reconnaitre en AJAX le input (submit) activé je souhaite récupérer la valeur qui a été initialisé dans mon champs input (text qui est en readonly)

    mais je n'y arrive pas, l'idée est que j'ai :
    1 clique sur submit
    2 si champs vide intitialisation de l'heure
    sinon ouverture d'un clavier numérique (CSS /javascript) pour la saisie de l'heure
    3 re-clique sur le submit qui ferme le clavier numérique ("display:none")

    4 enregistrement asynchrone (via AJAX) en base de données

    Pour réalisé cela il me faut la valeur du input(text) sachant que le input (submit) a le même nom que le input(text) avec un prefixe "btn"

    voila le code mais je bloque
    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
    $(document).ready(function() {
    	$('.field').click(function() {
    		$("#LoadingImage").show();
    		var field=$(this).attr('name');
    		field= field.substr(3,field.length);
    		var Input="'"+field+"'";
    		alert($(this).attr('name'));
    		alert(Input);
    		alert(field);
    		alert($(this).val());
    		alert(getElementsByName(Input).value);
    		alert(getElementsByName('PAX_BOARD').value);
    	});
    });
    HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <td>
    <input class="field" type=button name=btnField value=Field onClick="AfficheBloc(document.FormAddflight.Field,'blockField',3);" style="Width:150px;height:35px;display:"/>  
    </td>
    <td colspan=2 bgcolor ="#A9E2F3" align ="left" style="width:70px;height:35px" colspan=2>		
    <input class="field" type=text name=Field value="123"  style="width:90%;height:35px;font-size:20pt;color:black;display:">		<img src="images/loading.gif" id="ImageField" style="display:none" />	
    </td>

    merci de votre aide
    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer un objet dans un événement click
    Par Angelhell dans le forum Windows Forms
    Réponses: 0
    Dernier message: 11/02/2013, 16h23
  2. [servlet][bean]comment récupérer l'objet request
    Par otminou dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 27/09/2004, 14h40
  3. Récupérer événements OnChange&OnScroll de ScrollBox
    Par bohort dans le forum C++Builder
    Réponses: 2
    Dernier message: 21/09/2004, 10h24
  4. Réponses: 4
    Dernier message: 15/09/2004, 16h52
  5. Récupérer la table d'origine du champs
    Par adelavarenne dans le forum Bases de données
    Réponses: 7
    Dernier message: 02/04/2004, 15h38

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