0

我试图在提交表单后添加一个类,具体取决于用户选择的选项。

<form enctype="multipart/form-data" action="upload.php" method="POST">
    title:<br /> 
    <input type="text" name="title" value="" /> <br />
    description:<br /> 
    <input type="text" name="description" value="" /> <br />
    Categories:<br /> 
    <input type="checkbox" name="categories[]" value="1">Landscpae<br />
    <input type="checkbox" name="categories[]" value="2">Portrait<br />
    <input type="checkbox" name="categories[]" value="3">Monochrome<br />
    Please choose an image: <input name="uploaded" type="file" /><br />
    <input type="submit" value="Upload" />
</form> 


<li class='INSERT OPTION HERE'> test </li>

可以选择多个班级,因此在每个班级之后添加一个空格。在我的数据库中 Value="1" "2" "3" == 选项名称

让我知道是否需要更多信息

4

2 回答 2

0

您要确保表单已提交,如果是,则回显一个类,并可以创建一个 switch 语句,该语句将根据所选内容更改类。

<li 
<?php 
if(isset($_POST['categories']))  {
echo 'class="';
switch($_POST['categories']) {
case 1;
echo 'class1';
break;
case 2;
echo 'class2';
break;
case 3;
echo 'class3';
break;
echo '"';
}
}
?> 
> test </li>
于 2013-09-03T02:18:31.170 回答
0

这些方面的东西可能会起作用:

$valid = array(1,2,3);#valid items
if(isset($_POST['categories']) && is_array($_POST['categories'])){
    $post = array_unique($_POST['categories']);#you might not need this, but this removes duplicate values
    foreach($post as $key => $value){
        if(in_array($value, $valid)){
            $class = true;
        }else{
            unset($post[$key]);#remove bad values, also this may not be necessary but removes unwanted items.
        }
    }
    if(isset($class)){
        $class = 'class="class' . implode(' class', $post) . '"';
    }
}#else needed for non array categories?

<li <?php if(isset($class)){ echo $class;} ?> > test</li>

演示

于 2013-09-03T02:52:32.263 回答