Como remover x e y de apresentar, em formulário HTML com o botão de tipo de imagem?
-
03-07-2019 - |
Pergunta
Eu criei um formulário no meu aplicativo da seguinte forma:
<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>
Mas quando eu estou submetendo a minha forma depois URL é criado como abaixo:
mysitename.com/search/?search=hello&x=0&y=0
Alguém por favor pode me dizer por que isso x e y está vindo em minha URL. Em mais uma coisa em vez de botão de imagem se eu estou mudando meu código forma como abaixo, em seguida, seu bom funcionamento,
<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>
mas eu preciso de um botão de imagem para fazer a minha forma de boa aparência. Por favor me diga como remover esses xey parameteres de URL.
Solução
Você vai sempre obter coordenadas do mouse para um envio tipo botão = "image"
Você pode usar um padrão botão enviar tipo e apenas aplicar estilos a ele para mudar o visual.
<input type="submit" id="search-submit" value=""
style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
Outras dicas
Eles são as coordenadas do mouse do clique. Eu não acredito que haja alguma maneira de impedi-los - se você usar um <input type='image'>
então você obtê-los. Por que isso é um problema? Você não pode simplesmente ignorá-los?
Respondendo o comentário de Prashant: Digg está adicionando um manipulador de onclick
ao <input>
(ou possivelmente um manipulador onsubmit
à forma), que constrói a URL de pesquisa pura aparência e redireciona o navegador para essa URL, e depois retorna false
para evitar a <input>
de enviar o formulário próprio. Se você desligar o JavaScript você verá que você começa os parâmetros x
e y
na URL. Inteligente!
document.getElementById("formid").submit = function() {
location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
return false;
};
Você pode simplesmente definir um valor, por um botão de imagem, isso irá substituir o comportamento coordenadas regular. Ela trabalhou para mim.
Por exemplo:
<input type="image" value="submit" src="sup.png" name="supprimer" />
retornará a variável php $_POST['supprimer']
e não suas coordenadas como botão de imagem.
Espero que este truque irá ajudá-lo.