Question

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, une URL est créée comme suit:

mysitename.com/search/?search=hello&x=0&y=0

Quelqu'un peut-il me dire, s'il vous plaît, pourquoi ces x et y apparaissent dans mon URL. Sur plus de chose au lieu du bouton image si je change mon code de formulaire comme ci-dessous, alors cela fonctionne 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 mon formulaire ait une belle apparence. Dites-moi comment supprimer ces paramètres x et y de l'URL.

Était-ce utile?

La solution

Vous obtiendrez toujours les coordonnées de la souris pour un bouton d'envoi type = & "; image &";

Vous pouvez utiliser un bouton de type de soumission standard et lui appliquer des styles pour modifier son apparence.

<input type="submit" id="search-submit" value=""
    style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />

Autres conseils

Ce sont les coordonnées du clic de la souris. Je ne crois pas qu'il y ait moyen de les empêcher - si vous utilisez un <input type='image'>, vous les obtenez. Pourquoi est-ce un problème? Ne pouvez-vous pas les ignorer?

Répondant au commentaire de Prashant: Digg ajoute un gestionnaire onclick au <input> (ou éventuellement un gestionnaire onsubmit au formulaire) qui crée une URL de recherche soignée et redirige le navigateur vers cette URL, puis retourne false pour empêcher le x de soumettre le formulaire lui-même. Si vous désactivez JavaScript, vous constaterez que vous obtenez les paramètres y et <=> dans l'URL. Clever!

document.getElementById("formid").submit = function() {
    location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
    return false;
};

Vous pouvez simplement définir une valeur. Pour un bouton d'image, cela remplacera le comportement des coordonnées habituelles. Cela a fonctionné pour moi.

Par exemple:

<input type="image" value="submit" src="sup.png" name="supprimer" />

renverra la variable php $_POST['supprimer'] et non sa coordonnée en tant que bouton image. J'espère que cette astuce vous aidera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top