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>

但我需要一个图像按钮来使我的表单看起来不错。请告诉我如何从 URL 中删除这些 x 和 y 参数。

4

4 回答 4

74

您将始终获得提交按钮 type="image" 的鼠标坐标

您可以使用标准的提交类型按钮,只需对其应用样式即可更改外观。

<input type="submit" id="search-submit" value=""
    style="background-image: url(/images/search-button.gif); border: solid 0px #000000; width: WIDTHpx; height: HEIGHTpx;" />
于 2009-04-29T10:11:25.167 回答
4

它们是单击的鼠标坐标。我不相信有任何方法可以阻止它们-如果您使用 an ,<input type='image'>那么您就会得到它们。为什么会出现问题?你不能忽略他们吗?

回答 Prashant 的评论:Digg 正在向(或可能是表单的处理程序)添加一个onclick处理程序,该处理程序构建了整洁的搜索 URL 并将浏览器重定向到该 URL,然后返回以防止提交表单本身。如果您关闭 JavaScript,您会看到您确实在 URL 中获得了和参数。聪明的!<input>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 回答
0

您可以简单地为图像按钮设置一个值,这将覆盖常规坐标行为。它对我有用。

例如 :

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

将返回 php 变量$_POST['supprimer']而不是其坐标作为图像按钮。希望这个技巧能帮到你。

于 2016-02-16T22:50:06.650 回答