可能有一个没有值的选项,而没有以表单的GET参数形式发送它吗?

时间:2019-03-09 18:26:12

标签: forms

我有2个选择的表格。两者都设置好后,一切正常。 但是,如果未设置任何一个,那么我会收到错误消息,因为我无法在地址栏上发送空值。

现在我可以在后端进行一些处理以忽略它,但是我宁愿完全不发送它。我读了许多类似的问题并尝试了所有答案,但是它只是以任何方式发送!

当选择“所有类型”或“所有语言”时,我需要在地址栏上不发送该特定选择的任何参数。

<form action="" method="GET" id="filter">

    <?php
        if( $terms = get_terms( array( 'taxonomy' => 'genre', 'orderby' => 'name' ) ) ) : 

            echo '<select name="genrefilter"><option value="">All Genres</option>';
            foreach ( $terms as $term ) : ?>
                <option <?php echo ((isset($_GET['genrefilter']) && $_GET['genrefilter'] == $term->term_id) ? 'selected="selected"' : '') ?> value="<?php echo $term->term_id;?>"><?php echo $term->name;?></option>
                <?php
            endforeach;
            echo '</select>';
        endif;
    ?>

    <?php
        if( $terms = get_terms( array( 'taxonomy' => 'language', 'orderby' => 'name' ) ) ) : 

            echo '<select name="languagefilter"><option value="">All languages</option>';
            foreach ( $terms as $term ) : ?>

                <option <?php echo ((isset($_GET['languagefilter']) && $_GET['languagefilter'] == $term->term_id) ? 'selected="selected"' : '') ?> value="<?php echo $term->term_id;?>"><?php echo $term->name;?></option>

                <?php
            endforeach;
            echo '</select>';
        endif;
    ?>
    <button>Apply filter</button>       
</form>

0 个答案:

没有答案