Onclick et bouton javascript

Fermé
ledemskev - 27 juin 2008 à 17:53
ledemskev Messages postés 37 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 10 mai 2009 - 28 juin 2008 à 22:52
Bonjour,

je comprend pas quand jutilise une balise <a></a> je met mon onclick="mafonction();" dedans et ca marche mais quand j''utilise une balise <input type="button"></input> sous firefox ca me dis que mafonction n'est pas une fonction ! et sous IE7 ca me dit que cet objet ne prend pas en charge cette methode ! ??????
A voir également:

5 réponses

ten62 Messages postés 158 Date d'inscription dimanche 22 juin 2008 Statut Membre Dernière intervention 5 avril 2011 23
27 juin 2008 à 18:00
Bonjour, pourrais tu montrer ton code ?
0
ledemskev Messages postés 37 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 10 mai 2009
27 juin 2008 à 18:03
page HTML
<html>
<head>
</head>
<script language="javascript" src="o.js"></script>
<style type="text/css">
#cara{border:double; text-align:center}
#nom{color:#0000FF}
#fbut{color:#990000; border:outset;}
#cherch{color:#009900; border:inset;}
.titre{color:#FFFF00}
</style>
<body>
<form name="aaa">
<input type="text" id="cherch" name="cherch" />
<input type="button" id="fbut" onClick="cherch();" value="Rechercher" />
</form>
<br />
<div id="cara">
	<div id="nom"></div><br />
	<div class="titre">PROCESSEUR</div>
	<div id="typeproc"></div>
	<div id="freqproc"></div><br />
	<div class="titre">RAM</div>
	<div id="typeram"></div>
	<div id="tailleram"></div><br />
	<div class="titre">SYSTEME</div>
	<div id="sysnom"></div><br />
	<div class="titre">DISQUE DURE</div>
	<div id="tailledd"></div>
	<div id="vitdd"></div>
</div>
</body>
</html>

Page JAVAscript
//javascript document

	function Ordi(txtNom, objProc, objRam, objSys, objDd)
		{
			this.nom = txtNom;
			this.proc = objProc;
			this.ram = objRam;
			this.sys = objSys;
			this.dd = objDd;
		}
		
	function Proc(txtType, txtFreq)
		{
			this.type = txtType;
			this.freq = txtFreq;
		}
		
	function Ram(txtType, txtTaille)
		{
			this.type = txtType;
			this.taille = txtTaille;
		}
		
	function Sys(txtNom)
		{
			this.nom = txtNom;
		}
		
	function Dd(txtTaille, txtVit)
		{
			this.taille = txtTaille;
			this.vit = txtVit
		}
	
	var intel2D = new Proc("intel core 2 duo","1.86 ghz");
	var DDR3_800 = new Ram("DDR3","800 mhz");
	var win_vista_fam = new Sys("windows vista édition familiale");
	var d500_7200 = new Dd("500 go","7200 trs/min");
	
	var pcPortable1 = new Ordi("pc portable 1",intel2D,DDR3_800,win_vista_fam,d500_7200);
	
	function cherch()
		{
			var ch = eval(document.aaa.cherch.value);
			$('nom').innerHTML = ch.nom
			$('typeproc').innerHTML = ch.proc.type;
			$('freqproc').innerHTML = ch.proc.freq;
			$('typeram').innerHTML = ch.ram.type;
			$('tailleram').innerHTML = ch.ram.taille;
			$('sysnom').innerHTML = ch.sys.nom;
			$('tailledd').innerHTML = ch.dd.taille;
			$('vitdd').innerHTML = ch.dd.vit;
		}
		
	function $(id)
		{
			return document.getElementById(id);
		}
	
0
ten62 Messages postés 158 Date d'inscription dimanche 22 juin 2008 Statut Membre Dernière intervention 5 avril 2011 23
28 juin 2008 à 13:29
essai peu etre : onClick="javascript:cherch();"
0
ledemskev Messages postés 37 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 10 mai 2009
28 juin 2008 à 16:12
ca marche toujours pas ! toujours la meme erreur je comprend pas ! et meme en utilisant une balise <a></a> ca marche que sous Firefox et pas sous IE7 !!
0
ledemskev Messages postés 37 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 10 mai 2009
28 juin 2008 à 16:16
parceque je peux utiliser un lien stylisé mais si la personne tape "entree" ca lance en methose GET ==> page.htm?cherch=MARECHERCHE !

quelqu'un pourrait m'aider ?
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 juin 2008 à 17:29
A mon avis c'est ta fonction cherche() qui en cause.

Si tu as firefox utilises la console d'erreur du menu outils pour voir ce qui cloche.


function cherch()
{
var ch = eval(document.aaa.cherch.value);
$('nom').innerHTML = ch.nom
$('typeproc').innerHTML = ch.proc.type;
$('freqproc').innerHTML = ch.proc.freq;
$('typeram').innerHTML = ch.ram.type;
$('tailleram').innerHTML = ch.ram.taille;
$('sysnom').innerHTML = ch.sys.nom;
$('tailledd').innerHTML = ch.dd.taille;
$('vitdd').innerHTML = ch.dd.vit;
}


d'habitude on ne met pas de $ pour les noms de variables en javascript
un nom de variable doit commencer par une lettre (majuscule ou minuscule) ou un "_"

ensuite si tu mets:
var ch = eval(document.aaa.cherch.value);

ch prend la valeur, et tu ne peux pas l'utiliser ensuite comme objet pour les lignes suivantes
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ledemskev Messages postés 37 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 10 mai 2009
28 juin 2008 à 22:52
pour ce qui concerne le '$' c'est ma fonction $(id) qui est un raccourci pour la fonction getElementById et en ce qui concerne eval il sert tres bien a recupérer une variable pour l'utiliser en objet ! car comme je le dis si jutilise une balise <a></a> ca marche tres bien !!!!

Merci de me répondre en ayant des connaissances car deja si on lit pas tout c'est sur qu'on peut pas trouver la solution 'pour le $ par exemple' !! c'est pas mechant mais les reponses pour rien ca fait des fausses joix mais mersi quand meme d'avoir essayer de me répondre !!!
0