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 :

Incrémentation d'un total


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Par défaut Incrémentation d'un total
    Bonjour,

    Je me permets de faire appel à vos cerveaux pour essayer de me dépérer de ce problème.

    J'ai créé une page qui est composée principalement d'un formulaire.

    A chaque champs de ce formulaire est associée une valeur (dans cet exemple : 10). Ce formulaire servira pour de potentiels acheteurs.

    But : l'utilisateur arrive sur le formulaire vierge. Il remplit le premier champs, dès qu'il rentre un caractère, le total doit être incrémenté de 10. Il quitte le premier champs pour aller au second, une fois remplit , le total est incrémenté de 10 (soit 20 au total). Finalement il décide de se rétracter et efface le deuxième champs. Le total diminue de 10 (soit 10 au total).

    Voici une explication du projet.

    J'ai bien avancé mais je bloque sur l'incrémentation du total. Avez vous une idée?

    Voici mon code (pour l'instant il affiche une alerte du prix par champs)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $(document).ready(function(){
    	$(':input').bind('change',function(){
    		// calcul de tous les champs pour avoir un prix global
    		var prix = 0;
    		$(':input').each(function(){
    			if($(this).val().length>0 && $(this).attr('price')){// le champ est rempli et il a un prix
    				prix+= parseInt($(this).attr('price'));// on utilise l id pour avoir le prix
    			}
    		});
    		alert(prix);
    	});
    });
    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
    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
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    <body>
    	<div class="main">
    		<div class="wrapper">
     
    			<div class="header">
    				<h1>OPEYI</h1>
    			</div>
     
    			<div class="product_des">
    				<div class="product_details">
    					<span>
    						<label>Choix de l'&icirc;le</label>
    <input type="radio" id="10" name="ile"/>Martinique<input price="10" type="radio" id="caase" name="ile"/>Guadeloupe<input type="radio" id="caase" name="ile"/>Guyane<input type="radio" id="caase" name="ile"/>R&eacute;union
    					</span>
     
    					<span>
    						<label>Choix de la cat&eacute;gorie</label>
    						<select name="cat" id="10" onchange="updateAmount();">
    							<option value="0">Commune</option>						
    							<option value="10">Actualit&eacute;</option>
    							<option value="0">Tourisme</option>
    							<option value="0">Culte religieux</option>
    							<option value="0">Loisirs</option>
    							<option value="0">Musique</option>
    							<option value="0">Spectacle</option>
    							<option value="0">Concert</option>
    							<option value="0">Presta artistes</option>
    							<option value="0">Soir&eacute;es</option>
    							<option value="0">Restos</option>
    							<option value="0">Bons plan</option>
    							<option value="0">Club bar</option>
    							<option value="0">Rumeur</option>
    							<option value="0">Cin&eacute;ma</option>
    							<option value="0">Sant&eacute;</option>
    						</select>
    					</span>
     
    					<span>
    						<label>Titre</label>
    						<input id="10" name="titre" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Lien internet</label>
    						<input id="10" name="internet" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Lien acheter/r&eacute;server</label>
    						<input id="10" name="acheter" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Description courte</label>
    						<textarea id="10" name="courte" rows="10" cols="20"></textarea>
    					</span>
     
    					<span>
    						<label>Description longue</label>
    						<textarea rows="10" name="longue" cols="20"></textarea>
    					</span>
     
    					<span>
    						<label>Adresse de l'&eacute;v&eacute;nement</label>
    						<input id="10" name="adresse" name="20" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Ville de l'&eacute;v&eacute;nement</label>
    						<input id="10" name="ville" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Genre de l'&eacute;v&eacute;nement</label>
    						<input id="10" name="genre" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					<span>
    						<label>Date</label>
    						<input type="date" id="10" name="date" />
    					</span>
     
    					<span>
    						<form enctype="multipart/form-data" action="_URL_" method="post"> 
    							<input type="hidden" name="MAX_FILE_SIZE" value="1000"> 
    							<label>Envoyer un fly:</label> <input id="10" name="fly" name="userfile" type="file"> 
    							<input type="submit" value="Envoyer"> 
    						</form> 
    					</span>
     
    					<span>
    						<form enctype="multipart/form-data" action="_URL_" method="post"> 
    							<input type="hidden" name="MAX_FILE_SIZE" value="1000"> 
    							<label>Envoyer un thumb:</label> <input id="10" name="thumb" type="file"> 
    							<input type="submit" value="Envoyer"> 
    						</form> 
    					</span>
     
    					<span>
    						<label>Bouton "J'aime"</label>
    						<input id="10" name="jaime" onkeyup="updateAmount();" onmouseout="sortie_champ();"/>
    					</span>
     
    					</div>
    					<div class="buy_product">
    						<div class="product_price">
    							<span id="price">
    								<p>0 €</p>
    							</span>
    							<input type="button" value="Commander"/>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    </body>

    Merci de votre aide!

  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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prix+= parseInt($(this).attr('price'));


    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prix+= parseInt($(this).data('price'),10);
    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
    Mars 2010
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 48
    Par défaut
    Merci, mais là le popup affiche 0 lorsque je clique sur un radio d'une île.

  4. #4
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut,

    tu te rends compte que tu utilises 20 fois l'ID 10

    2 extrait de la REF HTML du W3C concernant l'attribut ID :
    ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
    This name must be unique in a document.
    http://www.w3.org/TR/1999/REC-html40...l.html#h-7.5.2
    http://www.w3.org/TR/1999/REC-html40...html#type-name

    essaye de corriger toutes les erreurs, sinon tu risques d'avoir des problemes avec les navigateurs un peu trop chatouilleux

  5. #5
    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
    This name must be unique in a document.
    heu non the id must be unique...
    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 !

  6. #6
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    heu non the id must be unique...
    this name = le nom de l'ID !
    a lire : http://www.w3.org/TR/1999/REC-html40...l.html#h-7.5.2

Discussions similaires

  1. Incrémentation d'un champ de la table
    Par viny dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/09/2003, 20h33
  2. Nombre de langage de programmation total
    Par Adrael dans le forum Langages de programmation
    Réponses: 16
    Dernier message: 22/07/2003, 00h06
  3. [débutant][xsl]incrémenter une variable
    Par guitalca dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 01/04/2003, 15h19
  4. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10
  5. Post incrémentation?
    Par Defrag dans le forum C
    Réponses: 4
    Dernier message: 08/10/2002, 10h36

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