Mettre à jour une URL en temps réel selon ce qui est écrit ds 1 input

Mettre à jour une URL en temps réel selon ce qui est écrit ds 1 input - HTML/CSS - Programmation

Marsh Posté le 09-04-2010 à 23:08:35    

Salut,
 
Je suis une pine en Javascript. Y'a rien à faire j'y comprends rien :cry:  
 
Je voudrais faire une chose toute simple. J'ai ceci :

Code :
  1. <div id="search">
  2. <form action="http://www.monsite.zob/tag/[ICI]" method="post" name="recherche">
  3. <p>Recherche : <input type="text" name="requete" value="" id="input-recherche" />
  4. <input type="submit" value="ok" /></p>
  5. </form>
  6. </div>


 
Je voudrais tout simplement que lorsque je tape quelque chose dans le input (qui est un formulaire de recherche) ça l'ajoute automatiquement à la place du [ICI] et ce en temps réel.
 
Exemple :
Dans le input je tape "recrutement" et ça donne :

Code :
  1. <div id="search">
  2. <form action="http://www.monsite.zob/tag/recrutement" method="post" name="recherche">
  3. <p>Recherche : <input type="text" name="requete" value="" id="input-recherche" />
  4. <input type="submit" value="ok" /></p>
  5. </form>
  6. </div>


 
Si un dieu du JS pouvais m'aider je lui donne un million de dollars
 
Merci

Reply

Marsh Posté le 09-04-2010 à 23:08:35   

Reply

Marsh Posté le 09-04-2010 à 23:46:59    

C'est débile ce que tu souhaites faire.  
Sauf si ce formulaire ne se trouve pas sur ta page. Mais sache normalement que tu devrais avoir obligatoirement un fichier PHP qui lui s'occupe à partir des paramètres envoyés de faire la redirection


---------------
Blablaté par Harko
Reply

Marsh Posté le 10-04-2010 à 00:00:52    

J'ai un URL rewriting qui fait que sur cette URL : http://www.monsite.zob/tag/recrutement le script donne la valeur "recrutement" à $query.

 

Avec ta méthode je devrais envoyer la page vers http://www.monsite.zob/tag/ en GET ou POST puis seulement une fois sur la page rediriger vers http://www.monsite.zob/tag/recrutement hors pas question de générer deux requêtes HTTP (et donc deux codes HTTP) et utiliser des ressources serveur pour quelque chose que je peux faire du côté client.

 

Que ce soit débile pour toi, ça n'aide pas vraiment. Tu sais comment faire ?

 

A moins que ce que je demande ne soit impossible ? (le JS peut il modifier la source ou pas ?) Faut il obligatoirement que je recharge la page ?

Message cité 1 fois
Message édité par vanquishV12 le 10-04-2010 à 00:35:06
Reply

Marsh Posté le 10-04-2010 à 01:45:52    

Non mais pourquoi tu veux changer l'url de ton form ?
Pourquoi ne pas l'envoyer toujours au même endroit?

Reply

Marsh Posté le 10-04-2010 à 08:10:47    

comme dit dans mon message par ce que l'url est rewritée et que je ne veux pas passer par une page intermédiaire

Reply

Marsh Posté le 10-04-2010 à 09:57:42    

vanquishV12 a écrit :

J'ai un URL rewriting qui fait que sur cette URL : http://www.monsite.zob/tag/recrutement le script donne la valeur "recrutement" à $query.

 

Avec ta méthode je devrais envoyer la page vers http://www.monsite.zob/tag/ en GET ou POST puis seulement une fois sur la page rediriger vers http://www.monsite.zob/tag/recrutement hors pas question de générer deux requêtes HTTP (et donc deux codes HTTP) et utiliser des ressources serveur pour quelque chose que je peux faire du côté client.

 

Que ce soit débile pour toi, ça n'aide pas vraiment. Tu sais comment faire ?

 

A moins que ce que je demande ne soit impossible ? (le JS peut il modifier la source ou pas ?) Faut il obligatoirement que je recharge la page ?


mais boulet, tu ne fais pas 2 requetes HTTP puisque tu fias une redirection interne coté PHP, tu ne peux pas te permettre d'utiliser le JS pour pallier un défaut de ton application coté serveur. Ce n'est pas possible.

Message cité 1 fois
Message édité par gatsu35 le 10-04-2010 à 09:58:19

---------------
Blablaté par Harko
Reply

Marsh Posté le 10-04-2010 à 15:00:02    

Clair c'est complètement débile et bancal, le mec qui désactive le JS, il peut pas envoyer le formulaire correctement  [:pingouino]

Reply

Marsh Posté le 11-04-2010 à 10:40:59    

gatsu35 a écrit :


mais boulet, tu ne fais pas 2 requetes HTTP puisque tu fias une redirection interne coté PHP, tu ne peux pas te permettre d'utiliser le JS pour pallier un défaut de ton application coté serveur. Ce n'est pas possible.


Hé mon grand, une redirection, c'est deux entêtes HTTP, ou trois selon comme on redirige.
200 -> code (302/301) -> 200
Là où on est censé avoir juste un 200.
De plus, je n'ai pas pensé au type qui désactive JS car sur le terminal utilisé, c'est impossible.
Je fais une version très spécifique d'un site sur un terminal qui n'accepte que HTTP 1.0 (donc deux codes pour une page me renvoie une erreur).
 
Donc en fait vous ne savez pas comment faire, suffit de le dire.
 

Reply

Marsh Posté le 11-04-2010 à 11:13:20    

mais pourquoi c'est trop 2 requetes http, si déjà ton site est truffés d'images et d'autre bordel ça fait déjà un paquet de requetes HTTP  [:petrus75].

 

De toute manière le faire en javascript c'est crade, mais si tu es dans un environnement maitrisé pourquoi pas. Mais c'est crade quand même :o

 
Code :
  1. <div id="search">
  2. <form action="http://www.monsite.zob/tag/__TAG__" method="post" name="recherche">
  3. <p>Recherche : <input type="text" name="requete" value="" id="input-recherche" />
  4. <input type="submit" value="ok" onkeydown="fillTheForm(this)"/></p>
  5. </form>
  6. </div>
 

JS :

Code :
  1. function fillTheForm(input) {
  2.     if(!input.form.defaultAction) {
  3.       input.form.defaultAction =  input.form.action;
  4.    }
  5.     input.form.action = input.form.defaultAction.replace('__TAG__', input.text);
  6. }
 

Et si je sais comment faire puisque je fais du JS tous les jours depuis 3/4 ans, mais ce que je sais surtout c'est qu'il ne faut pas abuser du JS, surtout de la manière que tu le fais là.

 

au fait tu fais comment si le tag recherché par la personne n'existe pas ?


Message édité par gatsu35 le 11-04-2010 à 11:14:03

---------------
Blablaté par Harko
Reply

Marsh Posté le 11-04-2010 à 16:54:53    

Merci!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed