0

我显然错过了一些非常明显的东西,但请可怜我;我是新来的。

我正在尝试创建一个将打开具有这种格式的 URL 的表单:

http://searchplace.com/?sid=Do:Re&id=Fa:(8 digit number input into form)

这是表单现在的样子:

<form method="get" action="http:/searchplace.com/" enctype="application/x-www-form-urlencoded"> 
    <input type="hidden" name="sid" value="Do:Re">
    <input type="hidden" name="id" value="Fa:">
    <input type="text"  name="q" maxlength="8" value="" /> 
    <input type="submit" value="Search" /> 

</form>

这里至少有两个问题:

1) 冒号(第一个输入中的 Do 和 Re 之间以及第二个输入中的 Fa 之后)更改为 %3A。我尝试过使用和不使用enctype,并尝试说value="Do&#58;Fa"而不是value="Do:Fa"。我什至做了一些accept-charset="utf-8"我现在怀疑是红鲱鱼的事情。我只想要一个冒号!(嗯,显然是两个冒号。)

2) 现在,我的表单的最后一点返回类似Fa%3A&q=12345678. 显然 q 是因为我给文本输入命名为“q”。但我不想要 q,我只想要一个完整的Fa:12345678,我不知道如何在不给它命名的情况下将输入数字附加到 URL 的末尾。

希望我不会太远,以至于我的问题根本没有意义。我实际上已经解决了导致我尝试创建此表单的原始问题,但实际表单本身仍然让我发疯。谢谢!

4

1 回答 1

0

我明白你想要什么,但你不应该那样做。您必须使用不同的拆分函数来提取数据。我建议使用

<input type="text" name="fa_q" maxlength="8" value="" />

然后你会得到像 id=fa&fa_q=12345678 这样的 url,你知道你可以将“fa”分配给“fa_q”。

urldecode%3A 也是浏览器 url 编码,你可以通过在 PHP中应用函数来摆脱它

如果你很顽固,并且仍然想要这样 fa:12345678 ,那么 url 应该看起来像

/?q=fa:12345678

您必须摆脱所有输入名称并输入 ID,并且必须使用 javascript 将值应用于名称为“q”的输入。你需要正则表达式。

于 2013-01-23T19:46:03.543 回答