53

次のように、アプリケーションでフォームを作成しました。

<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>

しかし、フォームを送信すると、次のように URL が作成されます。

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

この x と y が私の URL に含まれている理由を誰か教えてください。以下のようにフォームコードを変更している場合、画像ボタンの代わりにもっと多くのものを使用すると、正常に動作します。

<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>

しかし、フォームの見栄えを良くするために画像ボタンが必要です。これらの x および y パラメータを URL から削除する方法を教えてください。

4

4 に答える 4

4

それらはクリックのマウス座標です。それらを防ぐ方法はないと思います-を使用する<input type='image'>と、それらを取得できます。なぜ問題なのですか?それらを無視することはできませんか?

Prashant のコメントへの回答: Digg は、見栄えの良い検索 URL を作成し、ブラウザーをその URL にリダイレクトしてから、フォーム自体が送信されないように戻るonclickハンドラーを に追加しています<input>(または、フォームにハンドラーを追加している可能性もあります)。JavaScript をオフにすると、URL におよびパラメータが含まれていることがわかります。頭がいい!onsubmitfalse<input>xy

于 2009-04-29T10:05:18.270 に答える
1
document.getElementById("formid").submit = function() {
    location = "/search/?search=" + encodeURIComponent( document.getElementById("search-box").value );
    return false;
};
于 2009-04-29T10:26:56.520 に答える