php - 搜索表单错误发送到 ?q=

标签 php forms search

我正在使用 Bootstrap 主题,我的表单是这样的:

<form class="navbar-form" role="search" method="get" action="<?=$domain?>search" onsubmit="DoSubmit();">
    <div class="input-group">
        <input type="text" class="form-control input" placeholder="Search" name="q">
        <div class="input-group-btn">
            <button  type="submit" class="btn btn-primary"><i class="glyphicon glyphicon-search"></i></button>
        </div>
    </div>
</form>

原来放置的页面是

http://www.domain.com/toys/search/Electronics child /

当我搜索表单“test”并按回车键时,它会将我发送到

http://www.domain.com/toys/search/?q=test

我应该用什么替换发送给我的代码:

http://www.domain.com/toys/search/test

提前致谢!

最佳答案

如果您使用 bootstrap,我假设您使用的是 JQuery。

那么请执行以下操作:

HTML:

<form class="navbar-form" role="search" method="get" action="<?=$domain?>search" id="searchFrom">
    <div class="input-group">
        <input type="text" id="searchField" class="form-control input" placeholder="Search" name="q">
        <div class="input-group-btn">
            <button  type="submit" class="btn btn-primary"><i class="glyphicon glyphicon-search"></i></button>
        </div>
    </div>
</form>

JS:

$('body').on('submit','#searchFrom', function(e) {
    e.preventDefault();
    location.href = $(this).attr('action')+'/'+encodeURIComponent($('#searchField').val());
});

关于php - 搜索表单错误发送到 ?q=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177247/

相关文章:

php - 在 where 子句中使用日期时,Laravel Eloquent 返回空

php - Eloquent:无效的列名 'updated_at'

javascript - jQuery - 动态添加/删除表单部分的最佳方法

jquery - 如何使用 jQuery 验证表单后发送数据?

javascript - 嵌套表单标签的第一种形式不响应 css 显示 :none

搜索引擎

MySQL搜索任何单词而不是所有单词

php - PHP 中两个时间戳之间的差异

php - 如何以编程方式在主题中使用 Wordpress Gutenberg block ?

ruby-on-rails - Elasticsearch 仅针对 multi_match 字段上的特定字段进行精确匹配