Javascript et window.location

Fermé
-
 LmM -
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>
A voir également:

10 réponses

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

à la place de

window.location='connexion.html'; ?
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.
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.
Messages postés
1
Date d'inscription
vendredi 2 décembre 2011
Statut
Membre
Dernière intervention
2 décembre 2011

Ok pma, votre solution vient encore de servir
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
608
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   ]]
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
> Vincent
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").
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
608
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   ]]
Messages postés
3
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
1 juillet 2008
3
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.
Essaye :
document.location = 'test_css.html';
ou (déjà suggéré) :
window.location.replace('test_css.html');
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.
Messages postés
1081
Date d'inscription
mardi 30 septembre 2008
Statut
Membre
Dernière intervention
26 janvier 2019
116
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
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.
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.
Je pense c 'est le test_css.html. Enleve le tiret bas.
Si tu veux vraiment le dire en français C'est caractère de soulignement (underscore) et pas "tiret bas"
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
non c pas çà
avec ce script la page se reload complétememtnt !