php过滤下拉而不提交按钮

时间:2011-04-07 16:50:31

标签: php drop-down-menu form-submit

我已经设置了以下代码。但是如何在没有提交按钮的情况下过滤结果并根据下拉值(用户ID)过滤结果?

form method="post" name="report_filter" action="<?= $_SERVER['PHP_SELF'];?>" >
select name="name" onchange="report_filter.submit();">
<option value="--">Filter by:</option>
<option value="1">Andi</option>
<option value="2">Katy</option>
<option value="3">Max</option>
<select>
PHP //
<? if(isset($_POST['submit'])):
    $mem->StaffTodayFilterSummary($_GET('value')); 
   else :
      $mem->StaffToday(); 
   endif;
?>
</form>

1 个答案:

答案 0 :(得分:4)

您需要将name="report_filter"更改为id="report_filter"

然后将您的onchange事件更改为onchange="document.getElementById('report_filter').submit()"

这是完整的代码:

<form method="post" id="report_filter" action="<?= $_SERVER['PHP_SELF'];?>" >
    <select name="name" onchange="document.getElementById('report_filter').submit();">
        <option value="--">Filter by:</option>
        <option value="1">Andi</option>
        <option value="2">Katy</option>
        <option value="3">Max</option>
    <select>

    <?
    if(isset($_POST['name'])):
        $mem->StaffTodayFilterSummary($_POST['name']); 
    else :
      $mem->StaffToday(); 
    endif;
    ?>
</form>

我更改了isset()以检查POST['name']并将过滤器摘要设置为也传递到$_POST['name']。我不知道$_GET('value')试图从哪里获取任何东西,但除非它在URL中我看不出它是如何工作的。