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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top