【问题标题】:Submit URL gives x and y [duplicate]提交 URL 给出 x 和 y [重复]
【发布时间】:2016-01-09 20:06:59
【问题描述】:

我有一个带有图像作为提交按钮的搜索框。 现在,当我提交 URL 时,如下所示:search.php?name=&s=s&submit.x=26&submit.y=8

通常 URL 看起来像 ?name=&s=s,但它带有按钮而不是图像。

谁能帮我删除&s=s后面的url?

这是我的代码:

HTML:

echo '<div id="div3">
    <input name="s" value="s" type="hidden">
    <input type="image" name="submit" src="../img/search.png" border="0" alt="Submit">
    </div>';

搜索

if (isset($_GET['s'])) {
    $string = $_GET['name'];
}

谢谢。

【问题讨论】:

  • 使用 POST 作为表单的方法,或者在提交表单后重定向到 ?name=&s=s..

标签: php html


【解决方案1】:

这就是&lt;input type=image&gt; 所做的——它将在图像上点击的坐标作为额外的xy 表单字段提交。如果您不希望这样,请不要使用该输入类型!考虑改用包含&lt;img&gt; 标签的&lt;button type=submit&gt;,或者使用CSS 来设置&lt;input type=submit&gt; 的样式。

【讨论】:

  • 这就是我的理解,但是如果我使用带有 CSS 样式的普通输入,按钮会显示值,我需要链接的值。你知道那该怎么做更好吗?
  • @D.Ester 您确实有其他输入,不是吗?为什么不使用它们?
【解决方案2】:

当您拥有&lt;input type="image"&gt; 时,您会收到随请求发送的两个附加参数:单击图像提交按钮的位置的 x 和 y 坐标。为了不将这些参数添加到 URL,您将不得不删除 &lt;input type="image"&gt;。如果按钮必须是图片,我建议使用 CSS 属性background-image

input[type=submit] {
    background-image: url(http://lorempixel.com/40/20/);
    border: 0;
    width: 40px;
    height: 20px;
}

以及对应的HTML:

<input type="submit" value="" name="submit">

然后,只需检查isset($_GET['submit'])

外观如何:JSFiddle

【讨论】:

  • 我现在已将其更改为 &lt;input id="submit" name="submit" value="" type="submit"&gt;,但现在我的 URL 以 = 结尾。我认为这是唯一的方法..
  • @D.Ester 很高兴为您提供帮助。
  • @D.Ester 如果您不希望提交按钮添加变量,请将其 name 留空。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-11
  • 1970-01-01
相关资源
最近更新 更多