OVH Cloud OVH Cloud

Re direction vers une page

12 réponses
Avatar
Serafin
Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une page
dont le nom est foction de cette variable.

Mon code:

function validation_form()
{

page=document.saisie_dep.dep.value+"/"+document.saisie_dep.dep.value+".htm";
valide = true;
if (!verif_vide(document.saisie_dep.dep.value))
{
valide = false; alert("Vous devez taper un numero de
departement!");
}
else
{
window.location=page;
}

return valide;
}

function verif_vide(text)
{
return (text.length > 0);
}

}

J'ai essayé avec window.location.href, ça ne marche pas mieux. Si je
tape un numéro qui ne correspond à aucune page, j'ai un message
m'indiquant que la page n'a pas été trouvée, preuve que la commande est
testé.

D'avance merci pour vos conseils.

"Quelle est belle ma Bretagne quad elle pleut"

10 réponses

1 2
Avatar
O.L.
Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une page dont le
nom est foction de cette variable.

Mon code:

function validation_form()
{

page=document.saisie_dep.dep.value+"/"+document.saisie_dep.dep.value+".htm";
valide = true;
if (!verif_vide(document.saisie_dep.dep.value))
{
valide = false; alert("Vous devez taper un numero de departement!");
}
else
{
window.location=page;
}

return valide;
}

function verif_vide(text)
{
return (text.length > 0);
}

}

J'ai essayé avec window.location.href, ça ne marche pas mieux. Si je tape un
numéro qui ne correspond à aucune page, j'ai un message m'indiquant que la
page n'a pas été trouvée, preuve que la commande est testé.


Eh bah, c'est bon alors, ça marche ! Ou alors c'est que j'ai rien
compris ;)
Ta fonction verif_vide() n'empêche la redirection que si le champ 'dep'
est totalement vide (pas de 0, pas d'espace, rien, nada : chaine de
longueur 0). Si tu met n'importe quoi de non vide dans ce champ, la
redirection se fera. Et si la page 1234.htm n'existe pas, bah on y peut
rien, il faudrait que ta fonction verif_vide() vérifie aussi que le n°
de département entré est valide (nombre entier allant de 1 à 976 (?)).

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
Serafin

Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une page
dont le nom est foction de cette variable.

Mon code:

function validation_form()
{

page=document.saisie_dep.dep.value+"/"+document.saisie_dep.dep.value+".htm";

valide = true;
if (!verif_vide(document.saisie_dep.dep.value))
{
valide = false; alert("Vous devez taper un numero de
departement!");
}
else
{
window.location=page;
}

return valide;
}

function verif_vide(text)
{
return (text.length > 0);
}

}

J'ai essayé avec window.location.href, ça ne marche pas mieux. Si je
tape un numéro qui ne correspond à aucune page, j'ai un message
m'indiquant que la page n'a pas été trouvée, preuve que la commande
est testé.



Eh bah, c'est bon alors, ça marche ! Ou alors c'est que j'ai rien
compris ;)
Justement, si je tape un numéro correct, la page en question n'est pas

chargée...

Alors, une idée ?


Ta fonction verif_vide() n'empêche la redirection que si le champ 'dep'
est totalement vide (pas de 0, pas d'espace, rien, nada : chaine de
longueur 0). Si tu met n'importe quoi de non vide dans ce champ, la
redirection se fera. Et si la page 1234.htm n'existe pas, bah on y peut
rien, il faudrait que ta fonction verif_vide() vérifie aussi que le n°
de département entré est valide (nombre entier allant de 1 à 976 (?)).

Celà, je vais le faire, mais j'ai d'abord testé la commande de

redirection. Et donc, flop !


Avatar
O.L.
Serafin avait écrit le 07/03/2006 :

Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une page dont
le nom est foction de cette variable.

Mon code:

function validation_form()
{

page=document.saisie_dep.dep.value+"/"+document.saisie_dep.dep.value+".htm";

valide = true;
if (!verif_vide(document.saisie_dep.dep.value))
{
valide = false; alert("Vous devez taper un numero de
departement!");
}
else
{
window.location=page;
}

return valide;
}

function verif_vide(text)
{
return (text.length > 0);
}

}

J'ai essayé avec window.location.href, ça ne marche pas mieux. Si je tape
un numéro qui ne correspond à aucune page, j'ai un message m'indiquant que
la page n'a pas été trouvée, preuve que la commande est testé.



Eh bah, c'est bon alors, ça marche ! Ou alors c'est que j'ai rien compris
;)
Justement, si je tape un numéro correct, la page en question n'est pas

chargée...

Alors, une idée ?


Si tu tapes "65" ça marche pas, alors que si tu tapes xyz, ça marche
(enfin ça essaie de charger qqch) ?
A la place de ton window.location = ..., essaie de mettre un
alert(page); pour voir.

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net



Avatar
ASM
Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une page
dont le nom est foction de cette variable.

Mon code:


le mien

<form action="liens_depts.htm" onsubmit="return valider(this)">
Numero de departement : <input type="text" name="dep">
<input type=submit value=GO >
</form>

<script type="text/javascript">
function valider(quoi) {
if(!quoi.dep.value.length>0) {
alert('departement est mal rempli'):
quoi.dep.focus();
return false;
}
quoi.action = quoi.dep.value+'/'+quoi.dep.value+'.htm';
return true;
}
</script>


J'ai essayé avec window.location.href, ça ne marche pas mieux.


et
self.location = page;
?

mais, à mon idée, vaut mieux passer par l'action du formulaire

Si je
tape un numéro qui ne correspond à aucune page, j'ai un message
m'indiquant que la page n'a pas été trouvée, preuve que la commande est
testé.


et sinon ?

--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Serafin
Serafin avait écrit le 07/03/2006 :



Bonjour,

j'ai un problème avec la commande window.location

Je récupère une valeur d'un formulaire et veut enchainer sur une
page dont le nom est foction de cette variable.

Mon code:

function validation_form()
{

page=document.saisie_dep.dep.value+"/"+document.saisie_dep.dep.value+".htm";


valide = true;
if (!verif_vide(document.saisie_dep.dep.value))
{
valide = false; alert("Vous devez taper un numero de
departement!");
}
else
{
window.location=page;
}

Si tu tapes "65" ça marche pas, alors que si tu tapes xyz, ça marche



(enfin ça essaie de charger qqch) ?
A la place de ton window.location = ..., essaie de mettre un
alert(page); pour voir.



J'avais essayé, et je récupère bien ma variable, c a d mon nom de page.
Si je tape 102, il me dit que la page n'existe pas (ce qui est normal);
mais si je tape 21 la page reboucle sur elle même.




Avatar
Serafin

Mon code:



le mien

<form action="liens_depts.htm" onsubmit="return valider(this)">
Numero de departement : <input type="text" name="dep">
<input type=submit value=GO >
</form>

<script type="text/javascript">
function valider(quoi) {
if(!quoi.dep.value.length>0) {
alert('departement est mal rempli'):
quoi.dep.focus();
return false;
}
quoi.action = quoi.dep.value+'/'+quoi.dep.value+'.htm';
return true;
}
</script>


J'ai essayé avec window.location.href, ça ne marche pas mieux.



et
self.location = page;
?

mais, à mon idée, vaut mieux passer par l'action du formulaire

Si je tape un numéro qui ne correspond à aucune page, j'ai un message
m'indiquant que la page n'a pas été trouvée, preuve que la commande
est testé.



et sinon ?

Ca ne marche pas, cela chaine sur la page en dur avec comme paramètre le

numéro tapé, ce qui n'est pas ce que je douhaite.


Avatar
ASM

et sinon ?

Ca ne marche pas, cela chaine sur la page en dur avec comme paramètre le

numéro tapé, ce qui n'est pas ce que je douhaite.


Alors, on ne comprend rien à rien à ce que tu veux

j'ai compris que tu voulais joindre la page :

30/30.htm

avec arborescence :
[depts]
index.htm (avec le formulaire de choix)
[01]
01.htm
[02]
02.htm
...
[30]
30.htm
...

du moins c'est ce que ton script laisse à entendre

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
Serafin



et sinon ?

Ca ne marche pas, cela chaine sur la page en dur avec comme paramètre

le numéro tapé, ce qui n'est pas ce que je douhaite.



Alors, on ne comprend rien à rien à ce que tu veux

j'ai compris que tu voulais joindre la page :

30/30.htm

avec arborescence :
[depts]
index.htm (avec le formulaire de choix)
[01]
01.htm
[02]
02.htm
...
[30]
30.htm
...

du moins c'est ce que ton script laisse à entendre

Pouf, pouf: je m'explique: je veux en effet, qu'après avoir tapé 10 j'e

chaine sur la page 10/10.htm, en tapant 25 sur la page 25/25.htm.
Or, ton script m'envoie sur la page liens_depts.htm?20 (si j'ai tapé 20).

Ai-je été clair ? Merci pour l'aide. Ce problème m'énerve d'autant que
sur un autre service avec des pages en php, j'utilise un petit scrip
javascript qui, avec window.location="nom_de_ma_page.html" fonctionne
parfaitement.
Malheureusement, dans le cas qui m'occupe maintenant, pas de php possible...



Avatar
ASM

Pouf, pouf: je m'explique: je veux en effet, qu'après avoir tapé 10 j'e

chaine sur la page 10/10.htm, en tapant 25 sur la page 25/25.htm.
Or, ton script m'envoie sur la page liens_depts.htm?20 (si j'ai tapé 20).


et tu ne sais pas corriger un script ?
ici l'erreur était la même que si en php
(emploi de : au lieu de ;)

donc ceci, testé, fonctionne :

<form action="liens_depts.htm" onsubmit="return valider(this)">
Numero de departement : <input type="text" name="dep">
<input type=submit value=GO >
</form>

<script type="text/javascript">
function valider(quoi) {
if(!quoi.dep.value.length>0) {
alert('departement est mal rempli'); // erreur etait ici
quoi.dep.focus();
return false;
}
quoi.action = quoi.dep.value+'/'+quoi.dep.value+'.htm';
return true;
}
</script>


--
Stephane Moriaux et son [moins] vieux Mac


Avatar
ASM


Pouf, pouf: je m'explique: je veux en effet, qu'après avoir tapé 10

j'e chaine sur la page 10/10.htm, en tapant 25 sur la page 25/25.htm.
Or, ton script m'envoie sur la page liens_depts.htm?20 (si j'ai tapé 20).



au fait, si tu veux utiliser ton code
il faut annuler l'action du formulaire

<form onsubmit="return false;" blabla >

--
Stephane Moriaux et son [moins] vieux Mac



1 2