我在我的应用程序中创建了一个表单,如下所示:

<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会出现在我的网址中。如果我正在更改我的表单代码,那么更多的事情而不是图像按钮,然后它的工作正常,

<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参数。

有帮助吗?

解决方案

您将始终获取提交按钮的鼠标坐标类型= <!>“;图像<!>”;

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

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

其他提示

它们是点击的鼠标坐标。我不相信有任何方法可以阻止它们 - 如果你使用<input type='image'>那么你就可以得到它们。为什么这是一个问题?你不能忽视它们吗?

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

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

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

例如:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top