【问题标题】:Search bar disfunctional搜索栏功能失调
【发布时间】:2013-06-05 02:43:48
【问题描述】:

我制作了一个小的 HTML 搜索栏,它应该能够访问网站内的任何页面。唯一的问题是,它不会离开该页面,如果离开,它会说找不到文件。这是到目前为止我与之关联的代码:

<form method="post" action="" name="search">
            <input name="search" >
                <button type="submit" name="Submit" onclick="window.location='http://localhost:8080/filefolder/<?php echo "'".$_POST[search]."'" ?>'">
                Submit</button>
                   </form>

当您在搜索栏中输入任何内容并单击提交时,页面会重新加载并清空搜索栏,这真的很令人沮丧。

这就是我与当前搜索栏相关联的全部内容。我到底做错了什么?我什至添加了 JavaScript,告诉搜索按钮将其发送到输入的页面。有人可以帮我弄这个吗?谢谢。

【问题讨论】:

  • 尝试绘制一个小流程图,说明当用户按下“搜索”时输入中的文本会发生什么变化。也许在你这样做的时候在页面源上达到一个高峰。
  • “它不会离开页面”是什么意思?
  • @ExplosionPills 用户不会被带到他们想要的目的地,页面将保持不变

标签: php javascript html searchbar


【解决方案1】:

您的代码包含额外的引号,我认为您不打算这样做。

例如:
http://localhost:8080/filefolder/&lt;?php echo "'".$_POST[search]."'" ?&gt;'"&gt;

导致:
http://localhost:8080/filefolder/'search''"&gt;

如您所见,当它尝试读取该字符串时,这会破坏 javascript 语法。

改写为:

http://localhost:8080/filefolder/&lt;?php echo $_POST['search'] ?&gt;'"&gt;

还要在末尾添加return false

<button onclick="window.location.href='value_for_url'; return false;" />

【讨论】:

  • 感谢您的回答,但是当您按提交时,它仍然停留在同一页面上。你认为这是 JavaScript 的问题吗?
  • 您的$_POST['search'] 需要填写。仔细检查该值是否已设置。
猜你喜欢
  • 2015-06-25
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
相关资源
最近更新 更多