0

所以我为一个表单(搜索表单)编写了这段代码,它看起来像这样:

<form action="" method="get">
<select >
<option value="name">Client Name:</option>
<option value="email">Client Email:</option>
<option value="tnx_id">Transaction ID:</option>
<option value="amount">Amount:</option>
</select>
<input type="text" name="svalue" placeholder="Search"></input>
<input type="image" name="submit" src="img/search_btn.png"></input>
</form>

当用户单击搜索时,我希望 url 以这种方式格式化:

http://localhost/pp/index.php?search&name=haha

但相反,我得到:

http://localhost/pp/index.php?search=name&svalue=haha&submit.x=0&submit.y=0

我只是在正确格式化 url 时遇到了困难,因为其余的代码都很好,我也无法&submit.x=0&submit.y=0在 url 的末尾摆脱它。你们有什么想法吗?基本上我想要的 url 格式获取选定的选项(名称、电子邮件、tnx_id、数量)并将 svalue 的值分配给它。

非常感谢您的帮助,在此先感谢您,谢谢。

4

3 回答 3

3

这就是表格的工作方式。每个控件在提交的数据中给出一个名称=值对。

你可以用 JavaScript 破解它,但这变得很脆弱。为<select>元素命名并更改服务器端脚本,以便将两条数据作为单独的数据。

我也无法摆脱&submit.x=0&submit.y=0网址末尾的那个

从图像映射中删除name属性,这样它就不会是成功的控制。

<input type="image" src="img/search_btn.png">

您应该进行的其他改进:

  • <input>是一个空元素。它不应该有结束标签。如果您正在编写 XHTML,请使用空元素语法。
  • placeholder不应该被用作替代品<label>
  • 向图像映射添加 alt 属性
于 2012-08-20T12:48:55.713 回答
1

使用 JavaScript 创建 URL。如果您使用 jQuery:

var url = 'http://localhost/pp/index.php?search&'
        + encodeURIComponent($('#id-of-your-select-element').val())
        + '='
        + encodeURIComponent($('#id-of-your-svalue-element').val());

编辑:至于摆脱submit.xand submit.y,请参阅@Quentin 的回答。

于 2012-08-20T12:51:30.297 回答
0

在您的 php 代码中,您可以添加以下内容:-

if(isset($_GET['name']))
{
$searchString="&cs=".$_GET['name'];
}

然后使用这个:

http://localhost/pp/index.php?".$searchString."/

我认为这将帮助您获得正确的东西。如果你想使用分页,我有一个代码给你,我以前用过,效果很好。试一次!

于 2012-08-20T13:40:46.593 回答