Rechercher : dans
Par :

[Javascript] formulaires avec frames

Dernière réponse le 20 fév 2006 à 12:23:49 tom@, le 17 fév 2006 à 10:19:34 
 Signaler ce message aux modérateurs

Bonjour,

j' ai du code en JS qui fonctionne bien avec FireFox, mais qui posse probleme avec Internet Explorer :

J' ai deux frames dans une page:

Le cadre du haut "top" contient un formulaire ("formulaire") avec trois champs de type texte. Ils vont permettre de recuperer des valeurs depuis le second cadre "bottom".
Le cadre du bas ("bottom") contient des boutons, destinés à remplir les champs du formulaire du cadre "top".

Que dois- je changer dans mon code pour l' adapter à Internet Explorer?


Voilà, mon script pour Firefox:


function envoyer(Nm){


if (parent.frames['top'].document.forms[0].elements['resultat'].value == ""){//1
parent.frames['top'].document.forms[0].elements['resultat'].value = Nm;
}else{//1
if (parent.frames['top'].document.forms[0].elements['resultatb'].value == ""){///2
if (Nm == parent.frames['top'].document.forms[0].elements['resultat'].value){
alert('Cette formation est votre premier choix. Merci de faire une nouvelle saisie ou cliquez sur "Valider".');
}else{
parent.frames['top'].document.forms[0].elements['resultatb'].value = Nm;
}
}else{///2
if(parent.frames['top'].document.forms[0].elements['resultatc'].value == ""){//3
if (Nm == parent.frames['top'].document.forms[0].elements['resultat'].value || Nm == parent.frames['top'].document.forms[0].elements['resultatb'].value){//4
if(Nm == parent.frames['top'].document.forms[0].elements['resultat'].value){
alert('Cette formation est votre premier choix. Merci de faire une nouvelle saisie ou cliquez sur "Valider".');
}else{
alert('Cette formation est déjà votre deuxiéme choix. Merci de faire une nouvelle saisie ou cliquez sur "Valider".');
}
}else{//4
parent.frames['top'].document.forms[0].elements['resultatc'].value = Nm;
}//4
}//3
}///2
}//1
}

</script>


Le principe du script:

Des que je clique sur un bouton du cadre "bottom", le premier champs du formulaire (dans "top") est rempli. Si on clique sur un autre bouton, le deuxieme champs texte est rempli. Ainsi de suite jusqu' au dernier. Les champs ne peuvent pas avoir le même contenu.


Tom@

Meilleures réponses pour « [Javascript] formulaires avec frames » dans :
Javascript - Effacer un champ de formulaire lors du clic (focus) VoirIl vous est sûrement arrivé de tomber sur un formulaire HTML avec des valeurs pré-remplies décrivant par exemple le type de valeur attendue. L'intention est louable mais il est désagréable de devoir sélectionner ce texte et le supprimer avant de...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...

1

tom@, le 17 fév 2006 à 12:20:29
  • +1

Salut ,

est-il possible que les objets, dans des frames, ne soient accessibles qu' en lecture seulement sans qu' on puisse faire de modification, avec internet Explorer ?

Tom@

Répondre à tom@

2

 Isabelle, le 20 fév 2006 à 12:23:49

J'ai eu le même problème.

J'ai un radio bouton qui contient l'instruction suivante :
OnChange="document.forms[0].submit();"

Lorsque je clique sur le radio bouton avec firefox la validation
est systématiquement lancée.
Avec explorer, je doit cliquer une première fois sur une valeur
puis cliquer n'importe où sur la fenêtre pour que la validation soit lancée.

Alors j'ai écrit un petit texte "continuer" afin que les gens cliquent
dessus pour valider.

Répondre à Isabelle
Collection CommentÇaMarche.net