Création
d'entreprise
Posez votre question Signaler

Javascript et window.location

vincent - Dernière réponse le 24 mars 2012 à 04:48
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>
Lire la suite 

Javascript et window.location »

17 réponses
Réponse
+14
moins plus
ne serait-ce point :
window.location.href ='connexion.html';

à la place de

window.location='connexion.html'; ?
Ajouter un commentaire
Réponse
+3
moins plus
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   ]]
Vincent - 11 avril 2002 à 08:15
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
plaf - 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").
Ajouter un commentaire
Réponse
+1
moins plus
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.
Ajouter un commentaire
Réponse
+1
moins plus
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.
onyva - 21 oct. 2008 à 22:04
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.
Mattros- 2 déc. 2011 à 11:54
Ok pma, votre solution vient encore de servir
Ajouter un commentaire
Réponse
+0
moins plus
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   ]]
Ajouter un commentaire
Réponse
+0
moins plus
Essaye :
document.location = 'test_css.html';
ou (déjà suggéré) :
window.location.replace('test_css.html');
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
cPage - 24 mars 2012 à 04:48
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.
Ajouter un commentaire
Réponse
-1
moins plus
Je pense c 'est le test_css.html. Enleve le tiret bas.
Sir_decque - 18 mai 2011 à 11:16
Si tu veux vraiment le dire en français C'est caractère de soulignement (underscore) et pas "tiret bas"
Ajouter un commentaire
Réponse
-2
moins plus
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
vincent - 10 avril 2002 à 14:42
non c pas çà
avec ce script la page se reload complétememtnt !
Ajouter un commentaire
Ce document intitulé « Javascript et window.location » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?