Soucis en ASP

Fermé
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 - 3 août 2009 à 13:46
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 - 4 août 2009 à 08:48
Bonjour,

j'ai un problème avec un formulaire...

j'ai un select dans lequel je sélectionne un pays et ses région s'affichent dans un select juste en dessous. Malheureusement, le nom du pays choisi est envoyé a l'autre select via l'url de la page, afin d'effectuer une requête SQL grâce au code ASP... et cette technique lance un rechargement de page.

C'est pas très pratique, car lorsque j'entre des valeurs dans des input et que je clique sur un nom de pays, les champs précédement remplis des input sont vidé lors du rechargement de page et on doit tout retaper.

comment faire pour éviter ce problème ?

merci d'avance...
A voir également:

18 réponses

M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 14:24
Bonjour! =)

Une solution est de passer les éléments du formulaire en paramètres lors du rechargement, et de réinitialiser les éléments au chargement grâce à l'ASP.

Si c'est pas assez clair je développe =)
1
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 14:36
oui oui!

Mais lors du rechargement, au lieu de faire un simple "document.location('page.asp?pays=' + document.getElementById('pays'));", il faut ajouter les autres champs comme ça:
document.location('page.asp?pays=' + document.getElementById('pays') + '&nom=' + document.getElementById('nom') + &prenom=' + document.getElementById('prenom'));

Etc selon les éléments du formulaires.

Ensuite, il faut modifier les champs de la manière suivante:
<input id="nom" type="text" value="<% 
if not isnull(Request.QueryString("nom")) then
response.write(Request.QueryString("nom")) 
enf if %>" />
1
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 15:54
Je viens de vérifier un truc:

onchange="document.location.href='./index.asp?page=vins_consultation.asp&couleur=' + document.getElementById('couleur').value + '&idvin=' + document.getElementById('idvin').value + '&pays=' + document.getElementById('pays').value	+ '&region=' + document.getElementById('region').value + '&appellation=' + document.getElementById('appellation').value + '&nom_chat_dom=' + document.getElementById('nom_chat_dom').value;"


Tu as oublié des '
1
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 17:21
Regarde mon dernier message, je t'ai indiqué des simples quotes ' que tu as oublié dans ton code, devant les &:

+ '&idvin=' + : là c'est bon,
+ &pays=' + : là c'est pas bon. il faut rajouter le ' manquant
1

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

Posez votre question
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 17:52
Vérifie que les id des champs sont corrects et vérifie la commande avec un alert(); pour l'afficher.

Je ne vois pas le problème, ça peut venir du type de champ (boutons radios par exemple) ou d'une erreur d'id de champ.
Le mieux est de tester en ajoutant un champ par un champ. Ca avait marché pour l'input du pays, ça devrait marcher pour le reste.
1
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
4 août 2009 à 08:48
Héhé à ton service! Ce forum est là pour ça =)

Bon courage pour la suite
1
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 14:27
tien... rebonjour ^^'

un developpement serait le bienvenu en effet...
car il y a aussi le probleme de la requete sql qui me permet de recuperer les regions du pays selectionné dans le premier select... elle doit etre lancée avec un rechargement de page non ?

0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
3 août 2009 à 14:37
Bonjour

Personnellement je te conseillerais plutôt un petit script ajax ;)

cela permet de faire des requêtes serveur sans recharger la page ;)

bon courage

Adns
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 14:43
dsl, pas le droit d'utiliser d'ajax...

a M@dien:

tu es sur que ça fonctionne pour les input ?
ils sont remplis à la main...

car si c'est le cas tu viens de me dépanner comme pas possible ^^'

j'hésitais a faire comme ça car je pensais que ça passerait pas avec les input
0
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 15:06
Ca passe, on l'a fait ensemble pour renseigner l'input du pays lors de la mise à jour de la combobox ^^
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 15:15
mais oui !!!
lol tu te souviens mieux que moi du taff que je dois faire ^^'

je suis en train de tester tout ça.
normalement ce sera la dernière étape ^^'
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 15:31
j'ai utilisé ta technique mais il n'y a plus de rechargement de page quand je change le pays oO'
c'est bizzar...
0
M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
3 août 2009 à 15:41
Parce que tu dois avoir une erreur de javascript. si ça ne se charge pas c'est que le document.location ne se lance pas.

Si tu utilises Firefox, je t'invite à installer le plug-in Firebug. une fois installé, il y aura un petit insecte en bas à droite du navigateur. tu cliques dessus, tu cliques sur l'onglet console, et tu regardes les erreurs qu'il indique lorsque tu cliques sur les liens ou quand tu changes de pays.
(Si tu vas plus loin, firebug est super pratique pour la création de sites web pour la partie design)
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 15:47
merci pour l'info, je vais telecharger firebug car je suis la pour 6 mois donc ça pourra me servir.

sinon, voici la ligne du onchange:

onchange="document.location='./index.asp?page=vins_consultation.asp&couleur=' + document.getElementById('couleur').value + '&idvin=' + document.getElementById('idvin').value + &pays=' + document.getElementById('pays').value	+ &region=' + document.getElementById('region').value + &appellation=' + document.getElementById('appellation').value + &nom_chat_dom=' + document.getElementById('nom_chat_dom').value;"


si tu vois une erreur préviens moi, car je n'en voit pas.
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 16:02
toujours pas... le onchange se lance pas...

<select id="pays" name="pays" onchange="document.location.href='./index.asp?page=vins_consultation.asp&couleur=' + document.getElementById('couleur').value + '&idvin=' + document.getElementById('idvin').value + &pays=' + document.getElementById('pays').value	+ &region=' + document.getElementById('region').value + &appellation=' + document.getElementById('appellation').value + &nom_chat_dom=' + document.getElementById('nom_chat_dom').value;" value="<%
if not isnull(Request.QueryString("pays")) then
response.write(Request.QueryString("pays")) 
end if
						%>">


marche pas...

<select id="pays" name="pays" onchange="document.location.href=('./index.asp?page=vins_consultation.asp&couleur=' + document.getElementById('couleur').value + '&idvin=' + document.getElementById('idvin').value + &pays=' + document.getElementById('pays').value	+ &region=' + document.getElementById('region').value + &appellation=' + document.getElementById('appellation').value + &nom_chat_dom=' + document.getElementById('nom_chat_dom').value);" value="<%
if not isnull(Request.QueryString("pays")) then
response.write(Request.QueryString("pays")) 
end if
						%>">


marche pas...
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 16:13
j'ai essayé avec juste pays (et la page, car elle est rransmise de la même façon) et en retirant les autres champs et le onchange se lance...

comment faire avec plusieurs valeurs a envoyer dans ce cas ?
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 17:25
j'ai corrigé ça juste après avoir posté mon message mais ça n'a pas marché
0
sorakaan Messages postés 59 Date d'inscription mardi 28 juillet 2009 Statut Membre Dernière intervention 18 décembre 2009 2
3 août 2009 à 17:55
j'avais ajouté 1 ' qui empechait le onchange de se lancer.
la ça marche et j'ai juste des soucis futiles avec les champs récupérés.
je pense que je pourrai me debrouiller pour le reste.

ça fait 2 fois que tu me sauve la vie...

merci M@dien.

on se reverra peut être sur ce forum bientôt.
d'ici la, bonne continuation ! ^^'
0