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

JavaScript Discussion :

onclick qui ne marche pas sur un bouton


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Points : 25
    Points
    25
    Par défaut onclick qui ne marche pas sur un bouton
    plop,

    ce code n'est pas de moi, j'ai rajouter les deux champs min et max ainsi que le bouton generer, le but est d'appeler une fonction javascript qui genere un nb entre min et max et remplie le ratio une fois cliqué.

    mais le onclick n'est meme pas executé, une idée du pourquoi? (ligne 20)

    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
     
    		<form method="post">
    			<input type="hidden" name="function" value="updateSettings" />
     
    			<p>
    				<input type="checkbox" id="enabled" checked=checked name="enabled" />
    				<label>normal</label>
    			</p>
    			<br/>
    			<p>
    				<input type="checkbox" id="disabled" 0 name="disabled" />
    				<label>Test Mode Enabled</label>
    			</p>
    			<br/>
    			<p>
    				<label>ratio:</label><br/>
    				<input type="text" id="min" name="min" value="0" maxlength="2" style="width:25px"/>
    				<input type="text" id="max" name="max" value="100" maxlength="3" style="width:25px"/><br/>
    				<input type="text" id="r" name="r" value="75" maxlength="3" style="width:25px"/>
    				<input type="button" value="Generate" onclick="alert("test")" />
    			</p>
    			<br />
    			<p>
    				<label>Main Site URL:</label><br/>
    				<strong>http://</strong><input type="text" name="url" id="site_url" value="example.com/" style="width: 200px;" /> &nbsp; &nbsp;
    			</p>
    			<br />
    			<p>
    				<label>Protection:</label><br/>
    				<select id="protection" name="protection" onchange="changeRefOptions(this)">
    	  				<option value="1" selected=selected>one</option>
    	  				<option value="2" [FS_2]>two</option>
    	    		</select>
    			</p>
    			<br />
    			<div id="fake_info"></div>
    			<p>
    				<input type="submit" value="Update Settings!"/>
    			</p>
    			<br />
    		</form>

    merci

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    La syntaxe d'appel de la fonction doit alterner les simples et doubles quotes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="alert('test')"
    Mais si il y a d'autres problèmes il va nous falloir montrer tes fonctions javascript.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    ça résout déjà pas mal de problèmes^^

    maintenant un autre, voici la fonction
    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
     
    function random()
    {
     
    	var value_min = document.forms.f.min.value;
    	var value_max = document.forms.f.max.value;
     
    	if (value_min=='')
    	{
    		value_min = 0;
    		document.getElementById("min").value = 0;
    	}
    	if (value_max=='')
    	{
    		value_max = 100;
    		document.getElementById("max").value = 100;
    	}
    	value_min = parseInt(value_min); // string to int
    	value_max = parseInt(value_max);
     
    	if (value_max <= value_min)
    	{
    		value_max = value_min+1;
    		document.getElementById("max").value = value_max; //replace to the correct value
    	}	
    	document.getElementById('r').innerHTML = document.write(Math.floor(Math.random() * value_max)+value_min);
    }
    elle ne remplie pas le champ input, a la place j'ai une page blanche avec le nombre tirée

    j'ai un petit doute ici mais, le fait d'appuyer sur le bouton ne soumet pas le formulaire?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 048
    Points : 44 562
    Points
    44 562
    Par défaut
    Bonjour,
    document.write est à BANNIR lorsque le document est chargé, il écrase le contenu de celui ci en le remplaçant par ce qui mis en paramètre de la méthode.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('r').innerHTML = Math.floor(Math.random() * value_max)+value_min;

  5. #5
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Meme remarque que NoSmoking concernant document.write().
    Pense a placer ton code de soumission (vérifications etc...) dans la balise <form> et non dans le bouton de soumission sauf pour onclick: j'ai fait la meme erreur...
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 53
    Points : 25
    Points
    25
    Par défaut
    solution trouvée!!! =D

    je met ma boite de texte entre <span id="xxx"> ici </span>

    et apres je fais juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var res = Math.floor(Math.random() * value_max)+value_min;
    	document.getElementById('xxx').innerHTML = "<input type=\"text\" name=\"ctrl\" value=\""+ res +"\" maxlength=\"3\" style=\"width:30px\"/>";
    et voila, ma fonction remplie la boite de texte =D

    merci a vous pour m'avoir aider a demarer

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

Discussions similaires

  1. Réponses: 25
    Dernier message: 16/02/2007, 15h37
  2. Réponses: 14
    Dernier message: 27/08/2006, 19h47
  3. DATEDIFF() qui ne marche pas sur une version 5.0.xx
    Par vallica dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/05/2006, 17h44
  4. Réponses: 3
    Dernier message: 08/09/2003, 15h06
  5. Réponses: 9
    Dernier message: 07/05/2003, 12h57

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