erreur javascript

  • Auteur de la discussion thhu
  • Date de début

thhu

Habitué
Bonjour,

J'ai un problème en javascript que je n'arrive pas à résoudre.
J'ai le message de retour : Parse error: parse error, expecting `','' or `';'' in test/index.php on line 65, et la ligne 65 correspond à :

elseif ($page=='livredor') {echo "<script type="text/javascript">parent.frame.location.replace("http://site.fr/livredor/");</script>";}

Je cherche à afficher une page internet dans une frame.

Merci pour votre aide ........
 

gatsu@IDN

Habitué
c'est pas une erreur de Javascript mais bien une erreur de PHP

regarde bien ce que tu fais :o
tu fais un echo avec des double quotes et dans ta string tu as des doubles quotes :o

donc englobe ta string de simples quotes ou echap chaque double quote à l'interieur de la string avec un \

ex : \"
ou bien le mieux est de faire 'ma chaine avec des "doubles quotes" et je ferme ma chaine par un simple quote'
 

thhu

Habitué
Merci de m'aider .............

Si je mets des double côte, donc :elseif ($page=='livredor') {echo "<script type="text/javascript">parent.frame.location.replace(\"http://th1.free.fr/livredor/\");</script>";}, j'ai toujours le même message.

Si je met des simple côtes : :elseif ($page=='livredor') {echo '<script type="text/javascript">parent.frame.location.replace("http://th1.free.fr/livredor/");</script>';}, la page ne s'affiche pas, et en bas à gauche, j'ai le triangle signalant une erreur ......... :??:
 

KangOl

Grand Maître
1/ abandonne les frames :o
2/ si tu dis pas l'erreur que tu optiens, on sais pas la deviner :o
3/ pour le code, il y a la balise
Code:
 :o
 

thhu

Habitué
Finalement, je me demande si mon erreur ne vient pas d'ailleur ....... Car quand je teste, rien ne s'affiche et j'ai un message dans la barre d'adresse (en bas) "Terminé, mais il y a des erreurs sur la page".
Peux-tu me dire si tu vois des erreurs dans mon code.

[cpp]<? PHP
// Vérifications de la variable page
if ($page=='accueil') {include('accueil.htm');}
elseif ($page=='presentation') {include('presentation.htm');}
elseif ($page=='liste-choristes') {include('liste-choristes.htm');}
elseif ($page=='a-venir') {include('a-venir.htm');}
elseif ($page=='historique-manif') {include('historique-manif.htm');}
elseif ($page=='album_photos') {include('album_photos.htm');}
elseif ($page=='repertoire') {include('repertoire.htm');}
elseif ($page=='livredor') {echo '<script type="text/javascript">parent.frame.location.replace("http://site.fr/livredor/");</script>';}
elseif ($page=='contact') {include('contact.htm');}
elseif ($page=='liens') {include('liens.htm');}
elseif ($page=='maj') {include('maj.htm');}
elseif ($page=='logo') {echo '<script type="text/javascript">window.frame.location.replace("http://site.fr/perso/chorale.htm");</script>';}
// Si la variable n'est pas définie, on affiche une page par défaut
else {include('accueil.htm');}
?>
[/cpp]

J'ai un message d'erreur : Parse error: parse error in test/index.php on line 58
qui correspond au premier if .....

Merci
 

gatsu@IDN

Habitué
pourquoi ne pas faire un switch c'est plus propre que ton caca ?
ensuite pourquoi faire ceci :
<script type="text/javascript">window.frame.location.replace("http://site.fr/perso/chorale.htm");</script>

ça c'est une redirection en javascript
c'est moche à chier à souhait
pourquoi ne pas faire un Header("location:") ?
 

thhu

Habitué
C'est bon .......... :bounce: J'ai réussi à faire ................. :pt1cable:

Maintenant, jeme bat avec le menu.
Je veux mettre un menu déroulant ............. ça prend moins de place !!!!!
Sur mon site avec des frames et frameset, j'ai un menu déroulant qui dit ceci :

[cpp]<script language="javascript">
function jump(form) {
var myindex=form.menu.selectedIndex
if (form.menu.options[myindex].value != "0")
{
window.open(form.menu.options[myindex].value, target="centre");
} }
//
<form>
<select name="menu" style="background-color:#FFCC00 ; font-family: Comic Sans MS" onchange="jump(this.form)">
<option value="0">MENU</option>
<option value="0"></option>
<option value="accueil.htm">Accueil</option>
<option value="presentation.htm">Présentation</option>
</select></form>[/cpp]

J'aurais aimé le transformer pour qu'il fonctionne avec des pseudos-frames, mais je sais pas comment ......
J'ai essayé en modifiant par

[cpp]<a href=index.php?page= .....[/cpp]

mais ça marche pô ......... :(

Comment pourrais-je faire ??
Où pourrais-je trouver des exemples de menus déroulant fonctionnant avec des pseudos-frames ??

Merci

 

KangOl

Grand Maître
remplace la ligne 6 par
Code:
 document.location = "index.php?page=" + form.menu.options[myindex].value;

bon c'est moche (car inutilisable sans js) mais bon
 

thhu

Habitué
remplace la ligne 6 par
Code:
 document.location = "index.php?page=" + form.menu.options[myindex].value;

bon c'est moche (car inutilisable sans js) mais bon

Pareil ............... ça marche pas ...........
 

KangOl

Grand Maître
oui mais mon grand, faut me donner plus d'info si tu veux que je t'aide :o

l'erreur viens d'ou ? js ? php ?
 

thhu

Habitué
J'ai trouvé un code un peu plus maléable pour mon niveau, et quime convient.
Je garde celui-là sous le coude pour le jour où j'aurais le temps de m'y plonger un peu plus !!!!

Merci pour ton aide .......... :)
 

zeb

Modérateur
Donne-nous ta solutions stp. D'autres pourraient le trouver maléable pour leur niveau !
 

thhu

Habitué
Volià :

[cpp]<html>
<HEAD>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset">
<TITLE></TITLE>
<style type="text/css">
<!--
.menu {font-family:Verdana; font-size:8pt
; color:white; text-decoration:none;}
a.menu:hover {color:red; background: white}
-->
</style>
<script language="JavaScript">
<!--
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); return x;
}

function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
</HEAD>
<BODY>
<div id="barre" style="position:absolute">
<table width="40px" border="0" cellspacing="0" cellpadding="0" bgcolor="#CC0000">
<tr>
<td colspan="2">
<div align="left" style="width: 40; height: 19"><b><a href="#" class="menu" onMouseOver="MM_showHideLayers('menu1','','show')" onMouseOut="MM_showHideLayers('menu1','','hide')">
<font size="5">Menu</font></a></b>
<div id="menu1" style="position:absolute; left: 0px; top: 28px; visibility: hidden" onMouseOver="MM_showHideLayers('menu1','','show')" onMouseOut="MM_showHideLayers('menu1','','hide')">
<table width="230" border="0" cellspacing="0" cellpadding="0" height="80">
<tr bgcolor="#CC0000" valign="middle">
<a href=index.php?page=page1 class="page1">page1</a><br>
<a href=index.php?page=page2 class="page2">page2</a><br>
</tr>
</table>
</div>
</div>
</td>
</tr>
</table>
</div>
</BODY>
</HTML>[/cpp]
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 060
Membres
1 586 285
Dernier membre
LeFront
Partager cette page
Haut