Selection fonction javascript menu deroulant

Fermé
daporoty Messages postés 54 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 10 septembre 2012 - 30 août 2007 à 11:41
daporoty Messages postés 54 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 10 septembre 2012 - 30 août 2007 à 14:11
Bonjour,
Voici un script que j'ai écrit, mais voila ca marche pas, où est la panne ?

<html><head>
<title>rapport</title>

<script>
function Printtext() {
if(navigator.appName=='Microsoft Internet Explorer') {
parent.text.focus(); window.print();
} else {
parent.text.print();
}
}
</script>

<script>
function Printimg() {
if(navigator.appName=='Microsoft Internet Explorer') {
parent.photo.focus(); window.print();
} else {
parent.photo.print();
}
}
</script>

<script>
function trt(sel)
{
switch ( sel.options[sel.selectedIndex].value )
{
case 1: function Printtext();
break;
case 2: function Printimg();
break;
case 3: function Printtext();function Printimg();
break;
}
}
</script>

</head><body>

<form>
<select name=print onchange="trt(this);"">
<option selected value="">- - - IMPRIMER - - -
<option value="1">tout le rapport
<option value="2">le texte seulement
<option value="3">les photos seulement
</select>
</form>

<table width=850 align=center border=1 style="border-right:1px solid #aaaaaa;border-bottom:1px solid #aaaaaa;" cellspacing=0 cellpadding=0><tr><td>
<iframe src="text.htm" scrolling="yes" height="340" width="850" border=1 name="text" Id="tx"></iframe><br>
<iframe src="photos.htm" scrolling="yes" height="430" width="850" border=1 name="photo" Id="im"></iframe>
</td></tr></table>

</body></html>

Merci de votre aide.
Laurent.
A voir également:

2 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
30 août 2007 à 12:07
Bonjour,

Qu'est ce qui ne fonctionne pas exactement ? Quelle fonctionnalité ?

J'ai constaté quelques erreurs ici et là, voilà les corrections à apporter :


1°) Tu as inverser ton menu, et il ne faut pas utiliser le mot clé "function" lorsque tu fais appel à une fonction javascript déjà déclarée plus haut. (Donc à n'utiliser uniquement lors de la déclaration d'une fonction, et non pour l'utilisation).

Remplacer :
<script>
function trt(sel)
{
switch ( sel.options[sel.selectedIndex].value )
{
case 1: function Printtext();
break;
case 2: function Printimg();
break;
case 3: function Printtext();function Printimg();
break;
}
}
</script> 


Par :
<script>
function trt(sel)
{
switch ( sel.options[sel.selectedIndex].value )
{
case 1: Printtext(); Printimg();
break;
case 2:  Printtext();
break;
case 3: Printimg();
break;
}
}
</script> 



2°) Tes balises d'options dans ton formulaire ne font pas fermées, je te conseille de le faire comme suit :
<select name=print onchange="trt(this);"">
<option selected value="">- - - IMPRIMER - - -</option>
<option value="1">tout le rapport</option>
<option value="2">le texte seulement</option>
<option value="3">les photos seulement</option>
</select> 


Voilà, corrige déjà ca et redis nous ensuite ce qui ne va pas en étant plus précis :)
0
daporoty Messages postés 54 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 10 septembre 2012
30 août 2007 à 14:11
Merci Kij,

J'ai apporté les modifications mais l'effet escompté n'est pas la.

La page comporte deux iframes. Avec le menu déroulant, l'utilisateur peut choisir d'imprimer le contenu de la première frame, ou de la seconde, ou les deux.

Actuellement, quand je choisis la partie à imprimer dans le menu, il ne se passe rien. Initialement, j'avais un bouton pour chaque action et l'impression était lancée correctement.

Qu'est qui cloche ?
0