Routine qui ne veut rien savoir...

Résolu
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012 - 24 sept. 2012 à 13:19
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012 - 24 sept. 2012 à 20:03
Bonjour à tous!

Qui peut me dire pour quoi cette pauvre routine ne fonctionne pas sous FF? Merci d'avance.

<script language="javascript1.5">
function repete_txt(a)
{
document.repete.elements["infos1"].value=document.formulaire.elements["infos"].value;
}
function repete_txt(b)
{
document.repete.elements["liste1"].value=document.formulaire.elements["liste"].value;
}
</script>
</head>

<form name"formulaire">
Saisie 1<textarea cols="40" name="infos" id="infos" value="" onkeyup="repete_txt(this.value)"></textarea>
Saisie 2<select onChange="repete_txt(this.value);" name="liste" id="liste">
<option value="layer1">layer1</option>
<option value="layer2">layer2</option>
</select>
<form name="repete">
Répète 1
Répète 2
</form>



Amiga user for ever...

8 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
24 sept. 2012 à 13:36
Bien le bonjour,
il y a plusieurs petit soucis, qui mis bout-a-bout fond que ça ne marche pas.
Premier soucis:
le formulaire ayant pour nom "formulaire" est mal définit:
<form name"formulaire">

doit devenir
<form name="formulaire">

Ensuite il n'est pas fermé, du coup fatalement, ça plante un peu :
<form name="repete">

devient donc
</form><form name="repete">


Après ça doit fonctionné, ou plutôt je devrais dire, je n'ai pas d'erreur...

[o-_-o]
3
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 20:03
Humm...Si, fonctionne, mais comme j'ai deux fonctions qui tapent dans le même form source, ne pas nommer les fonctions pareil...
Dans mon cas, function repete_txt(a) et function repete_txt(b) => function repete_select(a) et function repete_txt(b).
Les appels sur événement ne se mordent pas entre eux.

Merci TychoBrahe de pas avoir vu ça pour un codeur nolife comme toi...
D'ailleurs, ton pseudo me gène...

Merci par contre Zobibol qui m'a bien éclairci certains points et permit de les corriger!


Amiga user for ever...
3
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 sept. 2012 à 14:06
Salut,

Les grosses grosses erreurs :
[list]
[*] language="javascript1.5": Non, c'est type="text/javascript"
[*] document.repete : Non, document ne contient pas de propriété nommée repete. Tu as du confondre avec document.forms['repete']
[*] Le premier formulaire n'est pas fermé, du coup tu as un formulaire dans un formulaire, clairement ça fout la merde.
/list

Les trucs à changer :
[list]
[*] Encapsule ton JavaScript dans une fonction. Le mieux est que ce soit dans uen fonction lancée après le chargement total de la page, mais au pire une fonction anonyme auto-appelante (en fin de page du coup) ça limite la casse.
[*] Du coup, au lieux d'utiliser les vieux trucs html tout moches tels que onchange, onkeyup etc, tu associe, dans ton JavaScript, une fonction de rappel à un évènement. Pour ça, addEventListener() est ton amie.
[*] Pourquoi ne pas utiliser les id de tes éléments ? Ce serait bien plus simple.
/list
0
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 14:10
Oui, j'ai vu, une fois posté, qu'il manquait un /form et un =...
Ensuite, je viens de me rappeler que pour un select, il faut spécifier le options[x] ou options[document.form.getElementById('id').selectedIndex]...
Ca n'empêche que ca ne marche toujours pas...


Amiga user for ever...
0

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

Posez votre question
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 14:22
Vi, c'est du text/javascript... Corrigé.
Pour les document.machin, corrigé.
Le form select fonctionne et répercute bien son value dans le form text approprié. L'autre form ne fonctionne toujours pas.
Je peux pas trop balancer de fonction auto-appelante n'importe où car c'est un bout de code qui va dans un source complet en php déjà pas mal fleuri!
Le plus simple me convient, me fiche si c'est obsolète ou si c'est moche, le principale est que cela fonctionne et est le plus simple possible.
Pour les ID, tu as raison, c'est ce que j'ai fait: document.getElementById('infos'), mieux...

Amiga user for ever...
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
24 sept. 2012 à 14:51
Je peux pas trop balancer de fonction auto-appelante n'importe où car c'est un bout de code qui va dans un source complet en php déjà pas mal fleuri!

Dude, le but d'une fonction anonyme auto-appelante est justement d'assurer une bonne compatibilité avec tous les autres scripts provenant d'autres sources.

Le plus simple me convient, me fiche si c'est obsolète ou si c'est moche

On ne va pas s'entendre toi et moi ^^

le principale est que cela fonctionne et est le plus simple possible.

Tu veux faire simple ? Utilise jQuery ! Et pour faire encore plus simple tu peux aussi t'ammuser avec JsViews.
0
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 15:44
Geek, tes remarques sont bien sympathiques, j'ai malheureusement pas trop le temps de m'amuser, je prend ce qui me tombe sous le clavier.
Les modes sont pour ceux qui ont du temps à perdre, l’évolution informatique est bien sympa mais si je dois tout me retaper la doc javascript jquery ou autre jsviews, pas fini! Déjà assez à faire avec php5. Pas la peine de tenter de réinventer la roue, suffit de prendre ce qui existe déjà (le chemin le plus court de a à b est une droite...). Tu nolifes à coder, bien t'en prend et je te félicite. Pas mon cas.
Je me pencherai tout de même, à tête reposée, sur les fonctions anonymes auto-appelante.
Merci tout de même de ton intervention.


Amiga user for ever...
0
fra1ft Messages postés 35 Date d'inscription mercredi 7 mai 2003 Statut Membre Dernière intervention 24 septembre 2012
24 sept. 2012 à 17:37
Punaise! Beau tourner en long large et travers, marche po!
Ni sous FF ni sous IE! Les événements ne fonctionnent pas ou bien?
Quelqu'un a une idée s'yous plait?
<script type="text/javascript" >
function repete_txt()
{
document.getElementById('infos1').value=document.getElementById('infos').value
}
</script>

<form name="formulaire">
Saisie 1
</form>
<form name="repete">
Répète 1
</form>


Amiga user for ever...
0
Rejoignez-nous