OnChange... OnBlur... etc etc

OnChange... OnBlur... etc etc - HTML/CSS - Programmation

Marsh Posté le 18-05-2004 à 19:02:33    

bonjour à tous,
voila j'ai fait cette page avec des swapImage dynamiques.. (enfin à peu pres...)
 
http://www.clonecopy.net/php/comma [...] etape1.php
 
mais voila... j'ai un soucy avec la partie "Couleur ou noir et blanc"
Quand je remplis le champ de texte.. mon image change (comme je le souhaite !)... mais j'aimerai que quand le champ est vide... ça change aussi !!! comment faire ?
 
Deuxieme question :
 
au depart j'avais utilisé une checkbox... ça fait un "OnClick"... et ça marche..mais l'inverse ?? UnClick ? comment faire ?
 
 
Merci d'avance !
 
Freed

Reply

Marsh Posté le 18-05-2004 à 19:02:33   

Reply

Marsh Posté le 18-05-2004 à 19:43:43    

freed102 a écrit :

mais voila... j'ai un soucy avec la partie "Couleur ou noir et blanc"
Quand je remplis le champ de texte.. mon image change (comme je le souhaite !)... mais j'aimerai que quand le champ est vide... ça change aussi !!! comment faire ?


Tu testes si la chaine est vide.

freed102 a écrit :

au depart j'avais utilisé une checkbox... ça fait un "OnClick"... et ça marche..mais l'inverse ?? UnClick ? comment faire ?


onclick aussi [:spamafote]


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 18-05-2004 à 20:05:57    

freed102 a écrit :

bonjour à tous,
voila j'ai fait cette page avec des swapImage dynamiques.. (enfin à peu pres...)
 
http://www.clonecopy.net/php/comma [...] etape1.php
 
mais voila... j'ai un soucy avec la partie "Couleur ou noir et blanc"
Quand je remplis le champ de texte.. mon image change (comme je le souhaite !)... mais j'aimerai que quand le champ est vide... ça change aussi !!! comment faire ?
 
Deuxieme question :
 
au depart j'avais utilisé une checkbox... ça fait un "OnClick"... et ça marche..mais l'inverse ?? UnClick ? comment faire ?
 
 
Merci d'avance !
 
Freed


 
La case pour le nombre de pages est superflu. Calcule-le dynamiquement en fonction du nombre de copies couleur et/ou noir et blanc.
 
Sinon pour ta question, je plussoie GM.

Reply

Marsh Posté le 19-05-2004 à 12:08:33    

Hermes le Messager a écrit :

La case pour le nombre de pages est superflu. Calcule-le dynamiquement en fonction du nombre de copies couleur et/ou noir et blanc.
 
Sinon pour ta question, je plussoie GM.


 
Je saurais faire ça en PHP... mais en javascript... je connais pas du tout !

Reply

Marsh Posté le 19-05-2004 à 12:25:25    

Yesssssssss !!! j'ai compris le truc !!
 
j'ai fait ça :
 
onChange="if (this.value=='' || this.value==0) { MM_swapImage('nb','','../../images/shemas/shemas1/nb.gif',1)} else { MM_swapImage('nb','','../../images/shemas/shemas1/nb-nb.gif',1) }"
 
et ça marche ! :)
 
.. je crois que je vais me mettre un peu au Javascript.. ça a l'air tres interessant !

Reply

Marsh Posté le 19-05-2004 à 13:18:50    

Hermes le Messager a écrit :

La case pour le nombre de pages est superflu. Calcule-le dynamiquement en fonction du nombre de copies couleur et/ou noir et blanc.
 
Sinon pour ta question, je plussoie GM.


 
pour l'affichage du nombre de pages dynamique j'ai fait ça :
 

Code :
  1. <script language="javascript">
  2. function Somme()
  3. {
  4. if (document.etape1.type_nb_pages_nb.value=='' && document.etape1.type_nb_pages_coul.value=='' )
  5. {
  6. document.etape1.type_nb_pages.value="Valeurs vide";
  7. }
  8. else
  9. {
  10. A=document.etape1.type_nb_pages_nb.value;
  11. B=document.etape1.type_nb_pages_coul.value;
  12. document.etape1.type_nb_pages.value=Number(A)+Number(B);
  13. }
  14. }
  15. </script>


 
et mon formulaire ressemble à ça :
 
 

Code :
  1. <form name="etape1" action="<? echo $PHP_SELF; ?>" method="post">
  2. <input name="type_nb_pages" type="text" id="type_nb_pages" size=10>
  3. <input name="type_nb_pages_nb" type=text id="nb_pages_nb" onChange="if (this.value=='' || this.value==0) { MM_swapImage('nb','','../../images/shemas/shemas1/nb.gif',1); } else { MM_swapImage('nb','','../../images/shemas/shemas1/nb-nb.gif',1); Somme(); }"  value="<? echo  $_SESSION['nb_pages_nb'];  ?>" size=5>
  4. <input name="type_nb_pages_coul" type=text id="type_nb_pages_coul" onChange="if (this.value=='' || this.value==0) { MM_swapImage('coul','','../../images/shemas/shemas1/coul.gif',1); } else { MM_swapImage('coul','','../../images/shemas/shemas1/coul-coul.gif',1); Somme(); }"  value="<? echo  $_SESSION['nb_pages_coul'];  ?>" size=5>
  5. </form>


 
... mais ça marche pas... voici l'erreur :
 
"Ligne : 13
Car : 2
Erreur :'document.etape1.type_nb_pages_nb.value' a la valeur Null ou n'est pas un objet.
Code 0
URL : http://www.clonecopy.net/php/comma [...] .php&#034;
 
Le bad !!! que se passe t il ?

Reply

Marsh Posté le 19-05-2004 à 16:54:35    

Utilise les ID (bordel) :o
 
tu donnes un id à ton champ de noir et blanc (mettons id-noiretblanc)
Tu donnes un id à ton champ couleur (mettons id-couleur)
Tu donnes un id à ton champ résultat (mettons id-resultat)
 
(mettre un id signifie : <input type="text" id="truc"... hein)
 
Ensuite pour récupérer la valeur d'un champ :
 
valeur_recup = document.getElementById('id-detonchamp').value;
 
idem pour assigner une valeur :  
 
document.getElementById('id-resultat').value = resultat;
 
:o


Message édité par Hermes le Messager le 19-05-2004 à 16:55:13
Reply

Marsh Posté le 19-05-2004 à 17:41:34    

Hermes le Messager a écrit :

Utilise les ID (bordel) :o
 
tu donnes un id à ton champ de noir et blanc (mettons id-noiretblanc)
Tu donnes un id à ton champ couleur (mettons id-couleur)
Tu donnes un id à ton champ résultat (mettons id-resultat)
 
(mettre un id signifie : <input type="text" id="truc"... hein)
 
Ensuite pour récupérer la valeur d'un champ :
 
valeur_recup = document.getElementById('id-detonchamp').value;
 
idem pour assigner une valeur :  
 
document.getElementById('id-resultat').value = resultat;
 
:o


 
ça marche pô  :(  :sweat:  
 

Code :
  1. <script language="javascript">
  2. function Somme()
  3. {
  4. if (document.etape1.type_nb_pages_nb.value=='' && document.etape1.type_nb_pages_coul.value=='' )
  5. {
  6. document.getElementById('type_nb_pages').value = "Les valeurs sont vides !";
  7. }
  8. else
  9. {
  10. A= document.getElementById('type_nb_pages_nb').value;
  11. B= document.getElementById('type_nb_pages_coul').value;
  12. document.getElementById('type_nb_pages').value = Number(A)+ Number(B);
  13. }
  14. }
  15. </script>


 
et
 

Code :
  1. <form name="etape1" action="<? echo $PHP_SELF; ?>" method="post">
  2. <input name="type_nb_pages" type="text" id="type_nb_pages" size=10>
  3. <input name="type_nb_pages_nb" type=text id="type_nb_pages_nb" onChange="if (this.value=='' || this.value==0) { MM_swapImage('nb','','../../images/shemas/shemas1/nb.gif',1); } else { MM_swapImage('nb','','../../images/shemas/shemas1/nb-nb.gif',1); Somme(); }"  value="<? echo  $_SESSION['nb_pages_nb'];  ?>" size=5>
  4.   <input name="type_nb_pages_coul" type=text id="type_nb_pages_coul" onChange="if (this.value=='' || this.value==0) { MM_swapImage('coul','','../../images/shemas/shemas1/coul.gif',1); } else { MM_swapImage('coul','','../../images/shemas/shemas1/coul-coul.gif',1); Somme(); }"  value="<? echo  $_SESSION['nb_pages_coul'];  ?>" size=5>
  5.   </form>


 
j'ai mis des id à tous mes champs de formulaires.. et j'ai mis tes syntaxes dans mon script.. mais il me fait la même erreur !  :??:


Message édité par freed102 le 19-05-2004 à 17:42:06
Reply

Marsh Posté le 19-05-2004 à 18:08:48    

Il faut que tu refasses tout avec cette technique des document.getElementById['id']...
 
Saches que les names sont dépréciés pour les forms. En clair, on utilise plus les document.form...
 
Refait tout avec cette technique, tu y verras bcp plus clair. Et inutile d'employer les this dans ce cas ci également...

Reply

Marsh Posté le 19-05-2004 à 18:10:41    

Ah, un autre détail, arrête d'utiliser les scripts pourris de dreamweaver pour les survols d'images... ça tient en 2 lignes un survol d'image en javascript. :o
 
Maintenant, tu arrives au point où tu as deux possibilités :
 
Soit tu continues à utiliser des scripts tout fait + dreamweaver -> bricolage qui donnera jamais rien de fiable.
 
Soit tu fais REELLEMENT les choses proprement, soigneusement en comprenant VRAIMENT ce que tu fais. :o

Reply

Marsh Posté le 19-05-2004 à 18:10:41   

Reply

Marsh Posté le 19-05-2004 à 18:18:40    

C deja ce que je fais avec le PHP... (de toutes façons j'ai pas le choix !) je me sers de Dreamweaver uniquement pour le coté wysywyg... pour gagner du temps... Et le javascript... bah je commence seulement à me pencher dessus ! ça a l'air plus complexe que PHP tout en y ressemblant !
 
En ce qui concerne les "name"... j'en ai besoin en PHP... je pense pas qu'un "ID" suffise... si ?

Reply

Marsh Posté le 19-05-2004 à 18:24:35    

freed102 a écrit :

C deja ce que je fais avec le PHP... (de toutes façons j'ai pas le choix !) je me sers de Dreamweaver uniquement pour le coté wysywyg... pour gagner du temps... Et le javascript... bah je commence seulement à me pencher dessus ! ça a l'air plus complexe que PHP tout en y ressemblant !
 
En ce qui concerne les "name"... j'en ai besoin en PHP... je pense pas qu'un "ID" suffise... si ?


 
Alors :
 
1) Visiblement, le temps, tu es en train d'en perdre... Plus tu avanceras, et plus tu prendras conscience que rien ne vaut TES PROPRES modèles de codes insérables en 1 click. La prévisualition, c'est du pipeau. Pour bien travailler, il faut 2 écran avec dans le deuxième le navigateur ouvert qui montre les changements avec F5.
 
2) Javascript n'est pas du tout compliqué. Il semble compliqué ce qui est très différent. Evidemment, la logique est différente.
 
3) Pour les names, OUI, il faut les garder à chaque fois que tu récupères une valeur en PHP, ce qui n'est pas le cas du <form>. De plus, en XHTML strict, le name pour le <form> est déprécié.
 
4) Utilise SYSTEMATIQUEMENT document.getElementById('id')... pour toute récupération de valeur ou modification du contenu d'une balise via les ID. Tu y verras BCP plus clair, et tu verras que c'est pas du tout compliqué.
 
5) Pour le script d'image, n'utilise pas celui de dreamweaver.
 

Reply

Marsh Posté le 19-05-2004 à 18:27:33    

J'ai reussi !!!!
ça marche !!!
 
 :bounce:  :bounce:  :bounce:  :hello:  :lol:  :ouch:  :jap:  :jap:  :jap:  
 
en fait j'avais oublié de changer ce qu'il y a dans if(.....)
 
maintenant ça marche !! yahoooooooooo !
 
http://www.clonecopy.net/php/comma [...] etape1.php

Reply

Marsh Posté le 19-05-2004 à 18:40:39    

Il me reste encore un bug à eclaircir... quand je tape "0"... ça change pas le chiffre!  :??:

Reply

Marsh Posté le 19-05-2004 à 18:46:41    

freed102 a écrit :

Il me reste encore un bug à eclaircir... quand je tape "0"... ça change pas le chiffre!  :??:


 
Il te reste pas qu'un seul bug.  
 
IL faut que tu utilises onkeydown pour permettre la mise à jour de ton modèle sans recliquer après avoir entrer les valeurs.  :whistle:

Reply

Marsh Posté le 19-05-2004 à 18:49:54    

Hermes le Messager a écrit :

Il te reste pas qu'un seul bug.  
 
IL faut que tu utilises onkeydown pour permettre la mise à jour de ton modèle sans recliquer après avoir entrer les valeurs.  :whistle:


 
Merci merci ! je l'ai cherchée toute la journée celle là !! ça marche ! enfin ya un decalage quand même... mais bon...
 
la fonction Number() ... elle detecte bien le "0" quand même ? ou elle voit une valeur nulle ?

Reply

Marsh Posté le 26-05-2004 à 12:52:55    

j'ai toujours pas trouvé le bug pour le "0"
Par contre pour les onClick (sans dreamweaver):
 

Code :
  1. <input name=type_format_papier type=radio class="option1" onClick="document.taille.src = '../../images/shemas/shemas1/taille-a3.gif'" value=A3 <? echo $checkeda3; ?>>


 
ça marche tres tres bien ! :bounce:  :bounce:  :bounce:


Message édité par freed102 le 26-05-2004 à 12:54:36
Reply

Marsh Posté le 27-05-2004 à 00:51:10    

j'te l'avais bien dis Freed, de laisser tomber dreamweaver...  
en quelques mots de javascripts tu peux faire plein de trucs... exemple un de mes tout premiers sites, avant que je ne maitrise le XHTML et les CSS : www.thehours.fr.st
D'ailleurs, dés que j'aurai une heure à perdre, je le referai completement, sans tableaux, et uniquement avec des CSS...  
A Bientot...


Message édité par foxcssfox le 27-05-2004 à 00:52:17

---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
Reply

Sujets relatifs:

Leave a Replay

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