При нажатии получить список значений и автоматически отправить форму со значениями - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу автоматически отправлять значения в форме в скрытом поле.

Это моя первая форма. Когда я отправляю эту форму, происходит 2 действия 1.) триггер js - onclick = "displayResult ()" и 2.) отправка формы для обновления. php

<form action="update.php" method="post">
    <select name=category[] id=category multiple="multiple" class=master>
        <?php   
        $file = fopen("category.csv", "r");
        while (($row = fgetcsv($file, 0, ",")) !== FALSE) {
            $category = $row[0];
            ?>
            <option value="<?php echo $category;?>"><?php echo $category;?></option>
            <?php
        }
        ?>

    </select>
    <input type="submit" value="Save File" onclick="displayResult()" name="submit" >
</form>

Это мой js и я попытался автоматически отправить форму с добавлением document.getElementById ("myform"). submit (); Когда я делаю var_dump, я получаю NULL

<script>
    function displayResult() {
    var options = document.getElementById('master').options;

    var values = [];
    var i = 0, len = options.length;

    while (i < len)
    {
      values.push(options[i++].value);
    }

    txt=(values.join(','));
        alert(txt);
        document.getElementById('masterlist').value = txt;
        document.getElementById("myform").submit();
        }
    </script>

Это форма, которая мне нужна для автоматической отправки значений через js, но не работает. Пожалуйста, нужна помощь

<form action="update.php" method="post" name="myform" id="myform">
        <input type="hidden" name="masterlist" id="masterlist" value="">
</form>

1 Ответ

0 голосов
/ 29 апреля 2020
  1. Во-первых, вы должны добавить необходимые ""

    <select name=category[] id="category" multiple="multiple" class="master">
    
  2. Чем изменения отправить на скрытый и удалить onClick

    <input type="submit" value="Save File" name="submit" hidden>
    
  3. Затем добавьте еще одну кнопку , для которой onClick событие

    <input type="button" value="Save" onclick="displayResult();">
    
  4. В конце - исправьте JS. Вы должны обратиться к id 'category' , но вы ссылаетесь на класс 'master' , используя getElementById ()

    var options = document.getElementById('category').options;
    

Рабочая скрипка (мало изменено для скрипки): jsfiddle. net

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