Javascript et window.location

Fermé
vincent - 10 avril 2002 à 11:36
 LmM - 18 août 2012 à 09:27
salut
mon script marche pas !
je comprend pas pourkoi !
le probleme se situe ds le window.location
il y a deux fonctions quasi identique : la premiere vérifie un formulaire pour évité les champs vide, si tt est rempli on redirige, ctte partie fonctionne, mais qd tout est ok il y a un pb sur le window.location qui ne marche pas ! pk mystere
la 2nd marche parfaitement bien !

<script language="JavaScript">
<!--
//cette fonction ne marche qu'en partie
function etudiant() {

test=false;
if(document.etd.nom.value =='') test=true ;
if(document.etd.prenom.value=='') test=true;
if(document.etd.INE.value=='') test=true;
//if (document.etd.pwd.value=='') test=true;

if(test){
alert("Veuillez saisir tous les champs, merci");
}
else{
alert('coucou'); // le coucou aparrait donc c OK pour le controle du formulaire mais le window.location marche pas !
window.location='test_css.html';
}
}

// cette fonction marche super !
function verif() {
text = document.admin.pwd.value;
if(text== ''){
alert("Veuillez donnez un mot de passe d'Administrateur");
document.admin.pwd.value='';
}
else {
window.location='connexion.html';
}
}
-->
</script>

10 réponses

ne serait-ce point :
window.location.href ='connexion.html';

à la place de

window.location='connexion.html'; ?
24
J'avais moi-même ce problème (window.location qui marche pas sous IE6, miais ok avec IE7) et j'ai finalement trouvé sur un autre forum une solution.
Voici le code qui marchait pas sous IE6 :

var adresse = document.location
function tradoFR() {
x = new String(adresse);
x1 = x.replace('_en.asp', '_fr.asp');
wiindow.location = x1;
}
----------------
et la solution est :

var adresse = document.location
function tradoFR() {
x = new String(adresse);
x1 = x.replace('_en.asp', '_fr.asp');
setTimeout( "window.location.href = x1", 0 );
}

Je n'ai pas d'explication pourquoi ça marche, mais après des heures de recherche, je suis juste content que ça fonctionne.
7
ta solution fonctionne 5/5. J'avais le problème avec Mozilla, Netscape, Safari et Opera. Maintenant cela fonctionne avec ces 4 navigateurs. J'aimerais également savoir pourquoi.
0
Mattros Messages postés 1 Date d'inscription vendredi 2 décembre 2011 Statut Membre Dernière intervention 2 décembre 2011
2 déc. 2011 à 11:54
Ok pma, votre solution vient encore de servir
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
10 avril 2002 à 20:29
Salut Vincent

Remplace la variable 'test' par 'teste' par ex ou un autre nom.

test est déjà utilisé par Javascript

@+
Philippe

[[  The Truth is Out There   ]]
4
Salut,
et bien non c'est toujours pas çà !
le problème se situe avec le window.location pas dans le traitement de validiter du formulaire
merci
0
plaf > Vincent
11 avril 2002 à 10:17
Salut !

Tes 2 pages test_css.html et connexion.html sont bien toutes les 2 dans le même répertoire ?
Sinon tu peux toujours essayer
window.location.href = "test_css.html"
ou
window.location.replace("test_css.html").
0
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
13 avril 2002 à 16:31
Salut

A tout hasard le nom de ta page c'est bien EXACTEMENT 'test_css.html' case comprise (donc tout écrit en minuscule ) et pas 'Test_ccs.html' ou encore 'test_ccs.HTML' etc ...

Sinon as-tu un message d'erreur ?

@+
Philippe


[[  The Truth is Out There   ]]
2

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

Posez votre question
joebrijulcor Messages postés 3 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 1 juillet 2008 3
30 juin 2008 à 15:26
Même les pires choses ont une fin ....

Après des heures et des heures perdues à rechercher les causes du dysfonctionnement de window.location='xxxx" sous Mozilla Firefox (tout était OK avec IE 7) j'ai retéléchargé et réinstallé la version 2.0.0.14 de Mozilla Firefox et là .... miracle ... tout se met à fonctionner normalement.
J'avais déjà remarqué pas mal de bogues traînants (interface Javascript) sur certaines version de ce navigateur.
2
Essaye :
document.location = 'test_css.html';
ou (déjà suggéré) :
window.location.replace('test_css.html');
1
Même problème et toujours pas de solution malgré des milliers d'essais divers et variés.
Sous Internet Explorer window.location.href='xxxx' fonctionne très bien
Sous Mozilla Firefox window.location.href renvoie bien la localisation de la page mais refuse obstinément de se laisser modifier !!!
En clair toute tentative de modification de la localisation de la page ne fonctionne pas sous Mozilla Firefox.
J'ai lu des milliers et des milliers de posts sur Internet sans jamais avoir mis la main sur une solution qui fonctionne.

Toute personne ayant une solution à cet important problème sera accueillie avec une grande reconnaissance.
1
jiantox Messages postés 1081 Date d'inscription mardi 30 septembre 2008 Statut Membre Dernière intervention 26 janvier 2019 114
30 janv. 2012 à 14:46
salut,

j'ai eu le meme soucis a l'instant sur un onclick :

onclick="windows.location.href='...';" ne fonctionnais pas

j'ai donc mis :

onclick="javascript: location.href='...';" et la sa roule, fais le test
1
Ca serait bien que ce forum donne les réponses en ordre de date.

Pour ce qui est de ce sujet, le type de la balise doit être button et non pas submit sans quoi l'action du form est exécuté, ignorant complètement le redirection de l'attribut onclick.
<input type="button" onclick="location.href='votre_url'">
Ceci étant dit , si il s'agissait bien d'un form .
J'ai eu le même problème avec un simple bouton cancel.
0
Oui, à mon avis utiliser "location" sans le "window." devant devrait mieux marcher
car le code ci-dessous fonctionne bien(en tout cas en userScript) :
var url = location.href;
Et ducoup, ta ligne :
window.location='test_css.html';
devient :
location='test_css.html';
En espérant aider.
0
Je pense c 'est le test_css.html. Enleve le tiret bas.
0
Si tu veux vraiment le dire en français C'est caractère de soulignement (underscore) et pas "tiret bas"
0
je suis pas sur mais essayes quand meme de changer le nom de ta page test_css pour ne pas mettre d'underscore comme test-css
-1
non c pas çà
avec ce script la page se reload complétememtnt !
0