Нужен один код для работы с несколькими входами - PullRequest
0 голосов
/ 24 августа 2018

Я создаю галерею путем очистки папки изображений, каждое изображение также имеет выпадающий список.Я могу заставить код работать для одного раскрывающегося списка значений разделения, но когда я добавляю код в массив изображений, он только перетаскивает первый выбор и неправильно разделяет значение при отправке.Как мне заставить его работать с несколькими изображениями / выпадающими меню?

<form action="test2.php" method="post">
<select name="location" id="location">
<option value = '' selected> None </option>
<option value = 'bsimage1:folder1'> folder1 </option>
<option value = 'bsimage2:folder2'> folder2 </option>
<option value = 'bsimage3:folder3'> folder3 </option>
</select>
<input type="submit" name="submit" class="btn btn-primary" 
onclick='brochure_select()' value="Submit">
<input type="hidden" id="fid" name="fid" value="" />
<input type="hidden" id="sid" name="sid" value="" />
<script>
function brochure_select() {
    var option_result = document.getElementById("location").value;
    var option_array=option_result.split(":");
     document.getElementById('fid').value = option_array[0];
    document.getElementById('sid').value = option_array[1];
}
</script>
<div>
<?php
if(isset($_POST['submit'])){
        $fid = $_POST['fid'];
        $sid = $_POST['sid'];   
        echo "You have selected : " .$fid. " to move to " .$sid; // Displaying Selected Value
print_r($_POST);        
};
?>
</div>

Вот пример того, как в настоящее время выглядит множественный селектор: этот код очищает папку для изображений и выводит их в галерею на странице.Я добавил выпадающий список для каждого изображения, но он не передает значение, выбранное для каждого изображения, в форму правильно.Вот пример URL.http://mangamike.com/demo/index-split.php

  <?php 
// Image extensions
        $image_extensions = array("png","jpg","jpeg","gif");

        // Target directory
        $dir = 'images/';
        if (is_dir($dir)){

            if ($dh = opendir($dir)){
                $count = 1;

                // Read files
                while (($file = readdir($dh)) !== false){

                    if($file != '' && $file != '.' && $file != '..'){

                        // Image path
                        $image_path = "images/".$file;
                        $image_ext = pathinfo($image_path, PATHINFO_EXTENSION);

                        // Check its not folder and it is image file
                        if(!is_dir($image_path) && 

                            in_array($image_ext,$image_extensions)){
                            ?>
                        <div class="col-lg-4 col-md-2 col-sm-3 col-xs-4">
                            <!-- Image -->
                            <a href="<?php echo $image_path; ?>">
                                <img src="<?php echo $image_path; ?>" alt="" title="" height="auto" width="auto" style="max-width:350px;min-height:250px;"/>
                            </a>
                            <!-- --- -->
                            <div style="float:left;padding:5px;">

                             <div class="form-group">           
                            <label for="exampleFormControlSelect1">Brightsign Image Name - <strong><?php echo $file; ?></strong></label>
                            <select class="form-control" id="location" name="location[]" >
                                        <option selected disabled value="">Choose Location</option>
                                        <option value="closing">Closing Station</option>
                                        <option value="device">Device/ROF</option>
                                        <option value="merch1">General Merch 1</option>
                                        <option value="merch2">General Merch 2</option>
                            </select>
                            <input type="hidden" name="image_name[]" value="<?php echo $file; ?>" />
                        </div>          
                        </div>
                        </div>
                            <?php

                            // Break
                            if( $count%3 == 0){
                            ?>
    </div><div class="row">
                            <?php    
                            }
                            $count++;
                        }
                    }

                }
                closedir($dh);
            }
        }
        ?>

1 Ответ

0 голосов
/ 24 августа 2018
  1. javascript не обновляет скрытые входные данные до отправки формы
  2. скрытые входы не в форме

Возможно, есть две формы, где первая форма @ onsubmit, которую вы предотвращаете, по умолчанию извлекает данные, которые вам нужны, переносит их в другую форму и отправляет эту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...