对同一页面而不是另一个页面的操作


Action to same page instead of another

我有一个form,里面有一个select,看起来像这样

<form method="get" id="searchform" action="?page_id=12" role="search">
    <select name="s" onchange="this.form.submit()">
        <?php $cats = get_categories( array( 'hide_empty' => 0 ) ); ?>
        <?php foreach ( $cats as $cat ) {
            echo "<option value=" . $cat->cat_name . ">" . $cat->cat_name . "</option>";
        }; ?>
    </select>
</form>

当我从选择列表中选择一个选项时,它会提交表单,但不是去?page=12&s=value而是转到?s=value

我已经尝试过action=#但后来它转到?s=value#这不是我想要的。

我如何获取它以便它重定向到?page=12&s=value

试试这个,你需要在表单中同时包含这两个参数,以便将它们都添加到查询字符串中

<form method="get" id="searchform" action="" role="search">
    <input type="hidden" name="page_id" value="12">
    <select name="s" onchange="this.form.submit()">
        <?php $cats = get_categories( array( 'hide_empty' => 0 ) ); ?>
        <?php foreach ( $cats as $cat ) {
            echo "<option value=" . $cat->cat_name . ">" . $cat->cat_name . "</option>";
        }; ?>
    </select>
</form>