J'ai créé un formulaire dans ma candidature comme suit:
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="image" alt="Search" src="/images/search-button.gif" />
</form>
Mais lorsque je soumets mon formulaire, l'URL est créée comme suit:
mysitename.com/search/?search=hello&x=0&y=0
Quelqu'un peut-il me dire pourquoi ces x et y viennent dans mon URL. Sur plus de chose au lieu du bouton image si je change mon code de formulaire comme ci-dessous, alors ça marche bien
<form action="/search/" method="get">
<input id="search-box" name="search" type="text" size=30 title="Search" value="" />
<input id="search-submit" type="submit" value="Search"/>
</form>
mais j'ai besoin d'un bouton d'image pour que ma forme soit belle. Veuillez me dire comment supprimer ces paramètres x et y de l'URL.
Vous obtiendrez toujours les coordonnées de la souris pour un bouton d'envoi type = "image"
Vous pouvez utiliser un bouton de type d'envoi standard et lui appliquer simplement des styles pour changer l'apparence.
<input type="submit" id="search-submit" value=""
style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
Ce sont les coordonnées de la souris du clic. Je ne pense pas qu'il y ait moyen de les empêcher - si vous utilisez un <input type='image'>
alors vous les obtenez. Pourquoi est-ce un problème? Ne pouvez-vous pas simplement les ignorer?
Répondre au commentaire de Prashant: Digg ajoute un gestionnaire onclick
au <input>
(ou éventuellement un gestionnaire onsubmit
vers le formulaire) qui crée l'URL de recherche soignée et redirige le navigateur vers cette URL, puis renvoie false
pour empêcher le <input>
de soumettre le formulaire lui-même. Si vous désactivez JavaScript, vous verrez que vous obtenez les paramètres x
et y
dans l'URL. Intelligent!
Vous pouvez simplement définir une valeur, pour un bouton d'image, cela remplacera le comportement des coordonnées régulières. Ça a marché pour moi.
Par exemple :
<input type="image" value="submit" src="sup.png" name="supprimer" />
renverra la variable php $_POST['supprimer']
et non ses coordonnées comme bouton d'image. J'espère que cette astuce vous aidera.
document.getElementById("formid").submit = function() {
location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
return false;
};