C'est IE, Mozilla ou moi qui bug ? [objet THIS]

C'est IE, Mozilla ou moi qui bug ? [objet THIS] - HTML/CSS - Programmation

Marsh Posté le 29-07-2003 à 10:46:31    

:hello:  
j'utilise des boutons custom pour valider mes formulaires.
ils sont fabriqués en CSS et je valide le FORM par un lien HTML.
dans le lien, je mets : onclick="javascript:this.nom_du_form.submit()"
ça marche trés bien sous IE, mais je suis en train de rendre compatible le site pour mozilla et ça marche (valide) plus.
pour que ça marche sous moz je doit mettre javascript: document.nom_du_form.submit()
 
l'objet THIS marche pas sous moz ? klk1 peut m'éclairer ?


Message édité par Schimz le 29-07-2003 à 11:18:23
Reply

Marsh Posté le 29-07-2003 à 10:46:31   

Reply

Marsh Posté le 29-07-2003 à 10:56:39    

form.submit(this) marche très bien sous moz :??:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 29-07-2003 à 11:16:00    

Sh@rdar a écrit :

form.submit(this) marche très bien sous moz :??:  


ça marche pas mieux avec cette syntaxe  :pt1cable:

Reply

Marsh Posté le 29-07-2003 à 11:24:40    

c'est vraiment n'importe quoi, je me demande comment ça peut marcher sous IE... bref!
Juste pour bien comprendre ce que tu fais à la place de faire :

Code :
  1. onclick="javascript:this.nom_du_form.submit()"


essaye

Code :
  1. onclick="javascript:alert(this.name)" // ou prend l'id si il n'a pas de name


 
Normalement tu devrais comprendre sur quel objet pointe this lorsque l'on clique sur un bouton ... et donc pourquoi ça marche pas!

Reply

Marsh Posté le 29-07-2003 à 11:33:14    

onclick="javascript:alert(this.name)
IE = objetFORM
Moz = Undefined
 
onclick="javascript:alert(document.name)
IE = objetFORM
Moz = objetFORM
 
 :??: [:spamafote]
 
 

Reply

Marsh Posté le 29-07-2003 à 11:54:35    

Huuum en fait je crois que je viens de comprendre ce que tu veux dire par

Citation :

j'utilise des boutons custom pour valider mes formulaires.

ça veut dire que t'utilises pas des boutons, mais des liens c'est ça?
Alors forcement ma démo c'était si tu utilisais des boutons ( des vrais hein), auquel cas le this retourné par le clic est le bouton cliqué.
Donc maintenant je me tais  :o


Message édité par anapajari le 29-07-2003 à 11:55:41
Reply

Marsh Posté le 29-07-2003 à 12:29:46    

oué, par des liens. c'est plus beau  :o  
 
http://akaa.free.fr/online/moyen.gif

Reply

Marsh Posté le 29-07-2003 à 17:14:37    

Schimz a écrit :

oué, par des liens. c'est plus beau  :o  
 
http://akaa.free.fr/online/moyen.gif


et pourquoi tu n'utilises pas la balise button ou le type image dans ce cas...

Reply

Marsh Posté le 30-07-2003 à 02:02:39    

c koi ce this ?
 
il a rien à foutre dans ce cas là... c'est même étonnant que IE laisse passer, c'est clairement un bug !
 
à la limite, this.parent.submit() mais chuis pas sûr que ça marche...
 
c'est censé faire quoi ?
 
en tout cas, "this" représente dans ton cas ton bouton... en aucun cas le formulaire est membre du bouton, mais l'inverse.

Reply

Marsh Posté le 30-07-2003 à 02:04:18    

pour vérifier ce que je dis, t'as qu'à faire :
 

<input type="submit" value="Kick me" onclick="this.value = 'It hurts !';return false;">

Reply

Marsh Posté le 30-07-2003 à 02:04:18   

Reply

Marsh Posté le 30-07-2003 à 02:06:03    

ha, c un lien...
 
alors :
 

<a href="javascript:this.style.display='none';">Cliquez pour me faire disparaître</a>

Reply

Marsh Posté le 30-07-2003 à 09:35:35    

gizmo a écrit :


et pourquoi tu n'utilises pas la balise button ou le type image dans ce cas...


paske je n'ai qu'une seule image : le fond du bouton.
 
en fait j'appele le bouton avec une fonction php :
 

Code :
  1. bouton ('moyen','javascript:document.formulaire.submit()','_self','Enregistrer');


 
et ça me donne ça ds la page html :
 

Code :
  1. <div class="bouton2">
  2. <div class="ombreTexteBouton">Enregistrer</div>
  3. <a class="nav2" href="javascript:document.formulaire.submit()" target="_self">Enregistrer</a>
  4. </div>


 
c'est beaucoup plus souple que l'input image où il faut se cogner les boutons avec un soft de dessin (et avec GimpWin, c'est cauchemardesque) et aussi mieux que le type button qui n'est pas trop customisable.
 
effectivement THIS dans un lien faire reference au lien et pas à window.document
IE etant trop permissif, pour lui, ça passe.
 
j'ai plus qu'a remplacer 249 occurences javascript:this par javascript: document  [:twixy]  [:psywalk]   :sweat:


Message édité par Schimz le 30-07-2003 à 09:39:54
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed