Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1440 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  passage d'un champ saisie dans l'url (sans submit)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

passage d'un champ saisie dans l'url (sans submit)

n°1112671
Ryujin
Posté le 08-06-2005 à 14:22:11  profilanswer
 

Bonjour,
 
J'ai un formulaire avec different champ, je souhaite effectuer un controle sur certain champ de texte en vérifiant que la valeur entrée n'est pas déjà existente dans la BD sans avoir à submit le formulaire.
Je suis donc parti pour la solution du javascript.
La comparaison de mon champ avec la BD se faisant par la suite en php, je suis dans l'obligation de passer par une pop up (communication javascript >> PHP) Je pensais donc passais la valeur saisie de mon champ dans l'url de cette pop up pour la recuperer avec un GET ensuite.
 
Seulement pour le moment la valeur saisie reste en "undefined" et je ne parviens pas à régler mon erreur.
 
Voici comment se présente cette partie du code :

Code :
  1. DNS :
  2. <input type="text" name="dns"></input>
  3. <input type="button" class="bouton" value="v&eacute;rifier" onclick="ouvrirFenetre('popupVerifDns.php?dns='+this.form.dns.text,'popup','width=400,height=200');">


ouvrirFenetre() m'ouvre une popup avec les arguments donné, je concatene au premier argument (l'adresse de la pop up) ce que je veux reccuperer par la methode GET ensuite. Ca n'a pas l'air de lui plaire le "+this.form.dns.text" :(
 
Merci d'avance pour votre aide.

mood
Publicité
Posté le 08-06-2005 à 14:22:11  profilanswer
 

n°1112718
Djebel1
Nul professionnel
Posté le 08-06-2005 à 14:53:21  profilanswer
 

et si ton client a désactivé JS?
Pourquoi ne pas tout simplement faire valider le formulaire, faire les vérifs en PHP et revenir sur le formulaire si y a des erreurs, en mettant les valeurs des champs posant problème en rouge par exemple.
Cette solution est invisible pour l'utilisateur si les vérifications sont light, il clique et voit de suite réapparaitre son formulaire corrigé
 
enfin bref pourquoi tu ne veux pas faire submit le formulaire?


Message édité par Djebel1 le 08-06-2005 à 14:54:14
n°1112742
Ryujin
Posté le 08-06-2005 à 15:10:16  profilanswer
 

Et bien pour la simple raison que la validation de mon formulaire entraine une insertion dans la BD.
Et cela m'est imposé, pas question d'une page intermédiaire.
 

Citation :


et si ton client a désactivé JS?  


La question ne se pose pas pour moi, ce sont pour des clients intranet donc j'ai largement de quoi vérifier que leur client a JS d'activé.
 
Merci quand meme pour ta réponse.

n°1112758
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2005 à 15:16:20  profilanswer
 

Ryujin a écrit :

Code :
  1. DNS :
  2. <input type="text" name="dns"></input>
  3. <input type="button" class="bouton" value="v&eacute;rifier" onclick="ouvrirFenetre('popupVerifDns.php?dns='+this.form.dns.text,'popup','width=400,height=200');">



[:pingouino]
 
Un input est une balise vide, donc <input type="text> point barre (ou <input type="text" /> en xhtml) [:pingouino]
On lui donne un name pour connaître le champ à peupler, donc <input type="text" name="dns"> mais si on veut y accéder via JS il faut lui donner un ID donc <input type="text" name="dns" id="dns"> [:pingouino]
Enfin, la valeur d'un input text peuple le champ value (étonnant non?) [:pingouino]
 
Donc ici pour récupérer le contenu de l'input d'id "dns" on va utiliser  

document.getElementById('dns').value


[:pingouino]
 
Et j'arrive pas trop à comprendre la différence entre une page intermédiaire et un popup à la con au niveau du workflow, mais ça doit venir de moi [:pingouino]


Message édité par masklinn le 08-06-2005 à 15:17:02

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1112765
ritzle
Posté le 08-06-2005 à 15:22:51  profilanswer
 

Ryujin a écrit :

Et bien pour la simple raison que la validation de mon formulaire entraine une insertion dans la BD.
Et cela m'est imposé, pas question d'une page intermédiaire.


 
Tu rappelles simplement la meme page et au début de celle ci, tu verifie si le formulaire a été soumis.
S'il l'est, tu vérifies les champs.
Si c'est correct, tu l'inséres dans le bdd, où à la limite tu appelles ton autre page.
Si c'est pas correct, tu réaffiches le formulaire.
 
Tout ca peut se faire en une seule page


Message édité par ritzle le 08-06-2005 à 15:23:12
n°1112773
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2005 à 15:27:35  profilanswer
 

ritzle a écrit :

Si c'est pas correct, tu réaffiches le formulaire.


Prépeuplé avec des indications d'erreurs [:aloy]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1112780
ritzle
Posté le 08-06-2005 à 15:30:58  profilanswer
 

masklinn a écrit :

Prépeuplé avec des indications d'erreurs [:aloy]


ca me paraissait évident

n°1112800
Ryujin
Posté le 08-06-2005 à 15:44:12  profilanswer
 

Citation :


Un input est une balise vide, donc <input type="text> point barre (ou <input type="text" /> en xhtml)  


là n'est pas le sujet, cette écriture est valable.
 

Citation :

On lui donne un name pour connaître le champ à peupler, donc <input type="text" name="dns"> mais si on veut y accéder via JS il faut lui donner un ID donc <input type="text" name="dns" id="dns">


Ok il est possible de donner un id à un champ d'un formulaire, mais cela n'est nullement obligatoire pour travailler les champs avec javascript, mes noms de champ sont unique, et l'appel via "nomFormulaire.nomCham.value(ou .text)" fonctionne parfaitement (pour l'avoir utilisé mainte et mainte fois)

Citation :

Enfin, la valeur d'un input text peuple le champ value (étonnant non?)


Je le sais parfaitement c'est pourquoi je précisais la valeur saisie afin de dissocier le "value" du "text" qui correspond à ce que l'on tappe dans le champ.  :sarcastic:  
 
Enfin merci pour la réponse à la fin, ma solution marche mais c'était le "this.form" qui était faux :)
 
Pour la "popup à la con", désolé mais cela reste le choix de chacun il me semble, non ?

n°1112810
masklinn
í dag viðrar vel til loftárása
Posté le 08-06-2005 à 15:51:18  profilanswer
 

Ryujin a écrit :

Je le sais parfaitement c'est pourquoi je précisais la valeur saisie afin de dissocier le "value" du "text" qui correspond à ce que l'on tappe dans le champ.  :sarcastic:


Le truc con, c'est que c'est exactement la même chose pour un input text tu vois [:itm]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1112822
Djebel1
Nul professionnel
Posté le 08-06-2005 à 16:01:09  profilanswer
 

oriente toi vers la solution de Ritzle, comme ca la vérification n'est pas contournable et la validation jamais problématique
Si un utilisateur fait joujou avec ses parametres JS ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  passage d'un champ saisie dans l'url (sans submit)

 

Sujets relatifs
Afficher message si duplicata de champ IDFaire la somme des valeurs d'un champ
récupérer du texte saisieDifficulté de passage de parametres
Passage de paramètre[PHP] Lire en permanence un champ d'une bdd mysql
passage de parametres [Résolu][Access] masque de saisie date
Passage du VBA au VBS ??permettre la saisie de quotes dans un champ text
Plus de sujets relatifs à : passage d'un champ saisie dans l'url (sans submit)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR