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 :

dialogs imbriqués et rafraichissement de contenu


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Par défaut dialogs imbriqués et rafraichissement de contenu
    j'ai dans ma page jsp un bouton qui, à l'evenement onclick(), ouvre un premier dialogue (add-to-blacklist_dialog).
    Dans ce dialogue , l'utilisateur saisit un texte dans un textbox puis clique "Ok"

    Le click sur le buton "Ok" ouvre un second dialogue (confirm_word_add_dialog) pour confirmer ce que l'utilisateur a entré

    Le probleme c'est que lorsque l'utilisateur clique sur "cancel" du deuxième
    dialogue et retourne vers le premier dialogue pour changer son texte puis clique sur "Ok" : le second dialogue s'ouvre normal mais le nouveau texte n'est pas pris en consideation et dans ce dialogue j'ai toujours l'ancien texte

    Voici une partie de mon code html:

    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
     
    <button id="add-word" class="ui-button ui-state-default ui-corner-all">
    add a word
    </button>
     
    <div id="add-to-blacklist_dialog" title="Add a word to list">
    <form>
      <fieldset>
       <label for="word">Word to add</label>
       <input type="text" name="word" id="word" class="text ui-widget-content ui-corner-all"/>
     </fieldset>
    </form>
    </div>
     
    <div id="confirm_word_add_dialog" title="Confirm Adding word?">
    <p id="word_add_confirm_message">
    <span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
    Would you really want to add <a class="replacement"></a> to the list of blacklisted words ?
    <br style="height: 40px">
    All documents conatning the word <a class="replacement"></a> will be deleted</p>
    </div>
    et une partie de mon code jquery:

    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
    53
     
    $( function() {
    var word = $("#word");
    //some code
     
    $("#add-to-blacklist_dialog")
    	.dialog({
    		bgiframe : true,
    		autoOpen : false,
    		height : 220,
    		modal : true,
    		resizable : false,
    		buttons : {
    			'Ok' : function() {
      			allFields.removeClass('ui-state-error');
    			$('.replacement').replaceWith('<span style=" font-weight: bold;color: red;">' + word.attr("value") + '</span>');
    			$('#confirm_word_add_dialog').dialog('open');
    			return false;
    			$(this).dialog('close');
    			},
    			Cancel : function() {
         			   $(this).dialog('close');
    			}
                            },
         		       close : function() {
    			allFields.val('').removeClass('ui-state-error');
    			}
    		});
     
    $("#confirm_word_blacklist_dialog").dialog( {
    		bgiframe : true,
    		autoOpen : false,
    		height : 200,
    		width : 400,
    		resizable : false,
    		modal : true,
    		buttons : {
    			Cancel : function() {
    				$(this).dialog('close');
    				word.text(' ');
    			},
    			'Ok' : function() {
    				//some treatment
    				 });
    			$(this).dialog('close');
    			$("#add-to-blacklist_dialog").dialog('close');
    			 return false;
    		}
    		},
    		close : function() {
    		}
    	});
    });

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Par défaut Quand je fait un copier
    coller de ton javascript j'ai plusieurs erreurs de parenthèses et d'accolades. Si tu le corriges je veux bien t'aider ....

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Par défaut
    je m'excuse pour ne pas avoir envoyé tout le code
    dans le message precedent

    voici le code complet du script:

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    $( function() {
     
    	var word = $("#word"), allFields = $( []).add(word), tips = $("#validateTips");
     
    	function updateTips(t) {
    		tips.text(t).effect("highlight", {}, 1500);
    	}
     
    	function checkLength(o, n, min) {
     
    		if (o.attr("value").length < min) {
    			o.addClass('ui-state-error');
    			updateTips("The word to blacklist can not be empty !!");
    			return false;
    		} else {
    			return true;
    		}
    	}
     
    	$('#add-word').click( function() {
     
    		$('#add-to-blacklist_dialog').dialog('open');
    		return false;
     
    	}).hover( function() {
    		$(this).addClass("ui-state-hover");
    	}, function() {
    		$(this).removeClass("ui-state-hover");
    	}).mousedown( function() {
    		$(this).addClass("ui-state-active");
    	}).mouseup( function() {
    		$(this).removeClass("ui-state-active");
    	});
     
    	$("#add-to-blacklist_dialog").dialog(
    					{
    					bgiframe : true,
    					autoOpen : false,
    					height : 220,
    					modal : true,
    					resizable : false,
    					buttons : {
    					'Ok' : function() {
    					var bValid = true;
    					allFields.removeClass('ui-state-error');
    					bValid = bValid&& checkLength(word,"word", 1);
    					if (bValid) {
    					$('.replacement')	.replaceWith(
    '<span style=" font-weight: bold;color: red;">' + word.attr("value") + '</span>');
    									$('#confirm_word_add_dialog').dialog('open');
    return false;
    $(this).dialog('close');
    }
    },
    					Cancel : function() {
    					$(this).dialog('close');
    							}
    						},
    						close : function() {
    					allFields.val('').removeClass('ui-state-error');
    						}
    					});
     
    	$("#confirm_word_add_dialog").dialog( {
    		bgiframe : true,
    		autoOpen : false,
    		height : 200,
    		width : 400,
    		resizable : false,
    		modal : true,
    		buttons : {
    			Cancel : function() {
    				$(this).dialog('close');
    				mot_interdit.text(' ');
    			},
    			'Ok' : function() {
     
    				//somecode
    			$(this).dialog('close');
    			$("#add-to-blacklist_dialog").dialog('close');
    			 return false;
    		}
    		},
    		close : function() {
     
    		}
    	});
     
    });
    merci pour votre aide

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Par défaut Hello
    Alors après examen , c'est un cas critique , seul Dct House jquery peu faire quelque chose ... lol

    En fait il y a 2 erreurs :

    - mot interdit n'est pas défini ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mot_interdit.text(' ');
    - Et pourquoi cela marche la première fois et pas la 2eme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // tu ecris
    $('.replacement').replaceWith('<span style=" font-weight: bold;color: red;">' + word.attr("value") + '</span>');
     
    // tu dois faire
    $('.replacement').html('<span style=" font-weight: bold;color: red;">' + word.attr("value") + '</span>');
    En faisant replaceWith tu supprime '.replacement' ... alors la deuxième fois il n'a plus rien a remplacé. Avec .html() tu modifie juste le contenu de '.replacement' .

    Sinon ton code est plutôt pas mal. Si tu es débutant je te félicites vraiment.

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 42
    Par défaut
    merci beaucoup Sourrisseau

    $('.replacement').html('<span style=" font-weight: bold;color: red;">' + word.attr("value") + '</span>');
    c'est ce qu'il fallait le faire. ça a résolu tout le probleme et le code marche nickel

    Alors après examen , c'est un cas critique , seul Dct House jquery peu faire quelque chose ... lol
    je pense que c'est vous le Dr House du jquery

    Sinon ton code est plutôt pas mal. Si tu es débutant je te félicites vraiment.
    merci pour le compliment, je suis en effet débutant en jquery

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Par défaut Bon
    je vais m'acheter une canne ..... lol

    J'ai vu pas mal de codes de gens qui débutent et là on voit que c'est bien structuré et que c'est fait avec sérieux , persévère !!!

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

Discussions similaires

  1. Plusieurs dialog imbriqués avec de l'ajax
    Par Moxostoma dans le forum jQuery
    Réponses: 0
    Dernier message: 07/06/2014, 15h03
  2. Réponses: 0
    Dernier message: 10/05/2009, 18h13
  3. Réponses: 1
    Dernier message: 22/07/2008, 15h25
  4. JscrollPane rafraichissement du contenu
    Par JAVIR dans le forum 2D
    Réponses: 1
    Dernier message: 03/09/2007, 20h04
  5. [MFC] Rafraichissement de dialog
    Par EuZah dans le forum MFC
    Réponses: 3
    Dernier message: 20/01/2005, 14h19

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