2013-01-23 75 views
0

我很明显错过了一些非常明显的东西,但请对我表示遗憾;我是新来的。HTML格式的URL格式问题

我试图创建一个表单,将打开此格式的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的末尾而不给它命名。

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

回答

0

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

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

,然后你会得到这样的ID URL = FA & fa_q = 12345678,你知道你可以将 “发” 到 “fa_q”。

另外,%3A是浏览器的URL编码,您可以通过在PHP

如果你stubbord应用功能urldecode摆脱这一点,还是希望它像这样发:12345678网址看起来应该像

/?q=fa:12345678

你必须摆脱所有的输入名字,并把ID的替代,并且必须由使用JavaScript的价值应用到名称为“q”的输入。你需要正则表达式。