Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/10/2011, 14h23   #1
Invité de passage
 
Inscription : mars 2006
Messages : 52
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 52
Points : 3
Points : 3
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 :
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
sliders_alpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 14h40   #2
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
La syntaxe d'appel de la fonction doit alterner les simples et doubles quotes:
Code :
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...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/10/2011, 15h11   #3
Invité de passage
 
Inscription : mars 2006
Messages : 52
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 52
Points : 3
Points : 3
ça résout déjà pas mal de problèmes^^

maintenant un autre, voici la fonction
Code :
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?
sliders_alpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 15h43   #4
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 944
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 944
Points : 4 776
Points : 4 776
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 :
document.getElementById('r').innerHTML = Math.floor(Math.random() * value_max)+value_min;
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/10/2011, 13h52   #5
Membre confirmé
 
Avatar de Luke spywoker
 
Homme
Etudiant informatique autodidacte
Inscription : juin 2010
Messages : 452
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Etudiant informatique autodidacte

Informations forums :
Inscription : juin 2010
Messages : 452
Points : 278
Points : 278
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...
Blog: http://3dcyberspace.unblog.fr/
Site: Sanctuaire cybernétique
Luke spywoker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 21h51   #6
Invité de passage
 
Inscription : mars 2006
Messages : 52
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 52
Points : 3
Points : 3
solution trouvée!!! =D

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

et apres je fais juste
Code :
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
sliders_alpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h50.


 
 
 
 
Partenaires

Hébergement Web