在“action”属性的中间包含表单数据

时间:2012-03-21 17:07:19

标签: php html forms search input

我正致力于在Wordpress中构建一个更加用户友好的前端访问页面,用于构建在ContentDM上的内容库(http://www.oclc.org/support/questions/contentdm/default.htm)。作为网站的一部分请求的一件事是搜索表单,而不是搜索Wordpress,转到ContentDM库并在那里搜索。

似乎ContentDM的搜索语法如下:

http://libraryID.contentdm.oclc.org/cdm/search/searchterm/INPUT_TERM/order/nosort

“INPUT_TERM”是用户搜索的内容。

换句话说,为了创建一个直接在那里的搜索表单,我必须动态地将input元素的内容插入到表单的“action”属性的中间。

我猜我最好的办法就是将它发送到一个PHP页面,该页面将$ _POST ['whatever']粘贴到URL中并进行重定向。但实际上有一种方法可以从表单中动态地进行(理想情况下没有Javascript)并保存一步吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我想这样的事情可行:

<form action="" method="get"
    onSubmit="location.href='http://libraryID........./'+this.children[0].value+'/order/nosort; return false;">
    Search: <input type="search" />
    <input type="submit" value="Go" />
</form>

这会将浏览器重定向到搜索框中给出的搜索页面,但它并不十分可靠。

您可能想查看是否存在URL的查询字符串“version” - 也许该搜索URL受mod_rewrite影响为“看起来很漂亮”,并且您可以将http://libraryID.contentdm.oclc.org/cdm/search作为操作,并将输入字段命名为searchterm

<form action="http://libraryID.contentdm.oclc.org/cdm/search" method="get">
    Search: <input type="search" name="searchterm" />
    <input type="submit" value="Go" />
</form>