Vérifier URL entrée dans un input à la volée (Ajax inside ?)

WRInaute accro
Salut,

J'ai un champ input :
Code:
<input type="text" class="input_text_metas" name="url" value="http://www." />
Et je voudrais que lorsque la personne a fini de taper l'URL, un message s'affiche : soit OK l'adresse est bonne (elle est valide et/ou car le site est joignable) ou PAS OK.

Auriez vous une idée de comment procéder ? Je débute totalement en JS/Ajax, la seule chose que je sais gérer c'est un onclick pour faire aparaître un <div> :mrgreen:

Merci
 
WRInaute accro
"OK" pour une URL c'est assez vague. Le mieux est probablement de faire un lien "tester l'adresse" qui ouvre l'URL en question dans pop-up.

Sinon tu peux toujours faire un coup de xmlhttprequest, mais a part te dire qu'il y a une erreur (genre domaine inexistant, 404...) ça ne veut pas forcément dire que l'adresse est vraiment "exacte" (juste qu'elle aboutit "quelque part").

Suivant ce que tu préfères on pourra t'orienter.

Jacques.
 
WRInaute accro
Merci Jacques.

Ma préférence irait à ceci :
Input vide, on ne dit rien
On tape l'URL.
Quand inactivité d'une seconde, le script teste.
S'il tombe sur une page (si pas de 404) => affiche "OK".

J'ai déjà vu ça sur le web mais je ne sais plus où.
 
WRInaute accro
Ben c'est pas si évident que ça, parce que XMLHttpRequest ne te permet pas de consulter des URLs en dehors d'un autre domaine.

Le "hack" consiste généralement à mettre un petit iframe invisible, essayer de charger l'URL dedans, et voir si ça a marché, mais je ne sais pas si c'est vraiment très portable tout ça (i.e. si ça va facilement marcher avec tous les navigateurs et dans tous les cas de figure).

L'autre option consiste à ce que ce soit ton serveur qui vérifie (i.e. il y a un appel XMLHttpRequest dans le JS côté client qui appelle un script sur le serveur en lui passant l'URL, ce script vérifie que l'URL est accessible, et répond en conséquence). Pas très compliqué en principe, mais ça me paraît un peu risqué parce que ça veut dire qu'on peut utiliser ton serveur pour aller faire des choses chez quelqu'un d'autre, c'est pas forcément super sûr si tu n'imposes pas quelques limites (au moins sur le format de l'URL)...

Jacques.
 
WRInaute accro
8O Ok
Je vois que ça dépasse mon niveau technique actuel, je demanderai à l'utilisateur de bien faire attention :mrgreen:
Merci en tout cas, je ferai une vérification JS sur la composition du texte fourni, ça ira très bien.
 
WRInaute accro
L'option du lien qui ouvre une fenêtre avec l'adresse donnée pour la vérifier n'est pas forcément à exclure... Quelque chose comme:

onclick="window.open(document.getElementById('url').value); return 0;"

Jacques.
 
Discussions similaires
Haut