Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Réaffecter le JS au back [ Javascript et ActiveX / Autre ] (iguypouf)

lundi 21 janvier 2008 à 15:41:57 | Réaffecter le JS au back

iguypouf

Membre Club
Bonjour à vous, professionnels :D

L'absence de mots-clés vraiment liés à mon problème fait que mes recherches sont vaines.

Sur un de mes sites, je construis le formulaire en fonction d'une liste venant d'une DB. Le code lit la DB et crée les input; cependant, certains input sont liés, comme par exemple :
- un input se "disable" si on choisit une certaine valeur dans un autre input
- un input n'est affiché que si on choisit "oui" dans le radio button du haut

Le javascript lié à ces événements est également dans la DB, et cela fonctionne.

Gros problème : si l'utilisateur valide le formulaire, puis fait un "back", il revient sur la page, tous les inputs ont gardé leur valeur, mais aucun controle js n'est fait. Et donc dans mes exemples :
- l'input n'est pas "disabled" alors que l'autre input contient la bonne valeur
- le radio sélectionné est "oui", mais l'input relié n'est pas visible.

Etant donné que les fonctions JS à effectuer viennent de la DB, je ne peux pas mettre un "onload" dans le body, puisque je n'ai pas encore les champs.

Comment relancer, à la fin de l'affichage de la page, ces fonctions d'événements ???

Merci beaucoup !

lundi 21 janvier 2008 à 15:48:09 | Re : Réaffecter le JS au back

bultez

Membre Club


>>Etant donné que les fonctions JS à effectuer viennent de la DB,
    tu as stocké des fonctions javascript dans une base de données ?
   
>>je ne peux pas mettre un "onload" dans le body, puisque je n'ai pas encore les champs.
    ben... onload, c'est quand la page est affichée, entièrement, les champs existent donc.

ou je n'ai rien compris ?


                Cordialement            Bul         «mon Site»     «M'écrire»

lundi 21 janvier 2008 à 15:55:53 | Re : Réaffecter le JS au back

iguypouf

Membre Club

Les fonctions JS sont dans la DB, car la gestion des questions du formulaire est dynamique. Donc si dans le module d'administration la personne fait "n'afficher cet input que si l'input A est supérieur à 0", par exemple, cela se traduit en DB par le champ "TestJS" qui vaut "hidshow('input1','input2',890)".

Ma fonction hidshow est elle, passée dans le head car elle sait comprendre ce passage de paramètres. Par contre, je ne sais pas à l'avance combien de fois et quels champs y font appel.

le onload est bien une fois que la page est chargée. Mais lorsque dans mon code ASP s'écrit le "<body>", je n'ai pas encore lu la DB, donc je ne connais pas encore les occurences de hidshow à appeler.

Merci pour ta réponse !

PS : par contre j'ai des milliers d'erreur sur ce site-ci : des '(' manquants et des 'sys' indéfinis


lundi 21 janvier 2008 à 16:02:49 | Re : Réaffecter le JS au back

bultez

Membre Club

>>Mais lorsque dans mon code ASP s'écrit le "<body>", je n'ai pas encore lu la DB,

    ah... ton souci est donc coté asp.

par contre tu peux très bien tester "d'où tu viens" coté javascript
    soit document.referer, soit utiliser un cookie, soit...
    et agir en conséquence


                Cordialement            Bul         «mon Site»     «M'écrire»

lundi 21 janvier 2008 à 16:12:50 | Re : Réaffecter le JS au back

bultez

Membre Club
ou ce que tu veux faire avec onload, fait le
    juste avant le </body>,   non ?

                Cordialement            Bul         «mon Site»     «M'écrire»

lundi 21 janvier 2008 à 16:13:45 | Re : Réaffecter le JS au back

iguypouf

Membre Club
En fait, j'ai trouvé, tu m'as un peu mis sur la voie.

Je lis ma DB, et chaque fois que je trouve un appel de fonction JS à affecter, je
- l'affecte à mon input (comme avant)
- l'ajoute à une liste d'appels de fonctions (variable string ASP, donc, qui ressemble donc à  "<script langage=javascript>function RetestJS(){" + mes appels de fonctions avec ; au bout + "}".

Ensuite j'écris cette chaine dans l'html.

Et dans le body je fais un onload="RetestJS();', qui va donc chercher la fonction JS se trouvant après mon code html.

Pas sûr que ça soit clean, mais ça marche :D

Merci !

lundi 21 janvier 2008 à 16:15:52 | Re : Réaffecter le JS au back

bultez

Membre Club
pas tout suivi, mais si ça baigne : nickel.

                Cordialement            Bul         «mon Site»     «M'écrire»

lundi 21 janvier 2008 à 16:22:18 | Re : Réaffecter le JS au back

iguypouf

Membre Club
Ben en gros, ma page ressemble à ça :

<body onload="RetestJS();">
<form>
<input OnChange="hidshow('1','2',890);" id="gnagna">
</form>
<script langage=javascript>
function RetestJS(){
   hidshow('1','2',890);
}
</script>

En sachant que l'appel à la fonction hidshow vient donc de ma db, et qu'on peut voir X input comme ça.
Ca te semble pas trop bordélique ?

lundi 21 janvier 2008 à 16:37:47 | Re : Réaffecter le JS au back

bultez

Membre Club
    ne sachant pas ce que fait hidshow...   ?
    si hidshow est appelée pour tous les champs,
       une boucle sur ces champs en fin de page, peut-être?...

                Cordialement            Bul         «mon Site»     «M'écrire»

lundi 21 janvier 2008 à 16:44:34 | Re : Réaffecter le JS au back

iguypouf

Membre Club

Arff non, justement, le hidshow passe en paramètres un numéro que la fonction hidshow sait comprendre. Mais cet appel est géré dynamiquement quand on est admin : on peut l'affecter à certains champs, d'autres non.

Je pense que je vais laisser comme ça.

Merci pour ton aide en tous les cas !




Cette discussion est classé dans : input, valeur, db, js, back


Répondre à ce message

Sujets en rapport avec ce message

Addition de deux input type="text" [ par Jackboy ] Bonjour !J'aimerai que l'on me donne un petit coup de pouce !J'aimerai faire l'addition des valeur de deux input et de mettre la somme dans un second Problème JS: Gérer une listbox et traiter les valeur avec PHP... [ par Rabba ] J'ai une page dont le but est de pouvoir insérer des mots-clefs dans une listbox avec du javascript et ensuite, lors de la validation du formulaire, d Probleme de paramètre JS/PHP [ par bolbo ] Bonjour,Je cherche actuellement à créer un formulaire avec un select, les données devant y apparaitre étant extraites d'une base de données mysql.Je v comment inserer une valeur suivit d'un "-" et une autre valeur dans un input? [ par bleyboyred1 ] j ai 2 boutons et un input ,quand je clique sur le bouton 1, il m' insert sa valeur dans le input et quand je clique sur le 2 eme bouton il me supprim champ input file valeur par défaut [ par Tatopoulos ] Bonjour,Est-il possible de mettre une valeur par défaut dans un champ de formulaire "input file" et si oui merci de me donner un exemple. copie de valeur d'une liste et copie dans une input box [ par Mesfl ] Bonjour a tous,je tien a dire que je suis totalement novice avec javascript.Cela fait 3 jours que je galère à trouver une solution.J'aimerais à partir input hidden, fonction et redirection [ par needle ] Salut a tous alors voila j'expose mon probleme: J'ai dans une page web (générée en php) un input de type hidden avec comme value, disons, "toto est i Concaténation de variable JS [ par snoopian ] Hello !J'ai le problème suivant :Une petite fonction javascript qui modifie la valeur d'un champs texte dans un formulaire.function FlashToJavaScript( valeur champ input [ par Songeur ] Bonjour à toutes et tousje vous expose mon problèmej'ai un questionnaire (formulaire) contenant 20 champs de type input...je souhaiterai qu'en cliquan récupérer la valeur d'un champ input pour la traiter en php ou autre solution ?? [ par didine6 ] Bonjour,Voici mon problème.J'ai un champ input avec date de naissance et un champ age.Je voudrais que à la sortie du champ input, le champ âge soit ca


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.