Как я могу посчитать внутри этого оператора if в jquery и сохранить его в сеансе в php? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть таблица внутри формы, в которой я создаю новые строки, нажимая Enter. Для этого я использую функцию jquery. Однако мне нужно сохранить подсчет, который выполняется в функции jquery, и использовать его в HTML, чтобы проверить, сколько строк было создано в прошлый раз.

Мне это нужно по другой причине: когда я отправляю форму, она очищает все, включая строки таблицы, все они удаляются, кроме первой строки. Итак, если я могу сохранить подсчет в сеансе или в чем-то еще, я могу проверить, сколько из них было создано в прошлый раз, чтобы я мог создать такое количество при создании таблицы.

Вот мой jquery код:

<script type='text/javascript'>        

    $(document).on('keyup', '.lst', function(e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        var i = $('table tr').length;
        if (code == 13) {
            html = '<tr>';
            html += '<td>' + i + '</td>';

            html += '<td><input type="text" placeholder="Serial no." class="inputs" name="serial_no[]' + i + '"  value="<?php if (isset($_POST['serial_no'])) {echo htmlspecialchars($_POST['serial_no']);} ?>"/></td>';
                html += '<td><input type="text" placeholder="IMEI" class="inputs lst" name="imei[]' + i + '" value="<?php if (isset($_POST['imei'])) {echo htmlspecialchars($_POST['imei']);} ?>"/></td>';

            html += '</tr>';
            $('table').append(html);
            $(this).focus().select();
            i++;              

    });

    $(document).on('keydown', '.inputs', function(e) {
        var code = (e.keyCode ? e.keyCode : e.which);
        if (code == 13) {
            var index = $('.inputs').index(this) + 1;
            $('.inputs').eq(index).focus();
            event.preventDefault();
        }
    });     
</script>

А вот HTML:

 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">            

        <?php foreach ($dev_type_results as $row) {
        } ?>

        <table id="ble_table" class="table table-bordered table-striped" cellspacing="0" width="100%">
            <tr>
                <th>No.</th>
                <th>Serial no.</th>
                <th>IMEI</th>
            </tr>

            <?php                 

            if(!isset($_SESSION['count_rows']) || count($_SESSION['count_rows']) == 0) { ?>
                <tr>
                <td>1</td>

                    <td><input type="text" placeholder="Serial no." class="inputs" name="serial_no[]" value="<?php if (isset($_POST['serial_no']) && is_array($_POST['serial_no'])) {
                                                                                                                    $count =count($_POST['serial_no']);
                                                                                                                    for($i=0; $i<$count; $i++){
                                                                                                                        echo htmlentities($_POST['serial_no'][$i]);
                                                                                                                    }
                                                                                                                } ?>" /></td>
                    <td><input type="text" placeholder="IMEI" class="inputs lst" name="imei[]" value="<?php if (isset($_POST['imei'])) {
                                                                                                            echo htmlentities($_POST['imei']);
                                                                                                        } ?>" /></td>
                <?php } ?>
            </tr> <?php
            } else{      
                foreach($_SESSION['count_rows'] as $c) {
                 ?>
            <tr>
                <td>1</td>                    
                <td><input type="text" placeholder="Serial no." class="inputs" name="serial_no[]" value="<?php if (isset($_POST['serial_no']) && is_array($_POST['serial_no'])) {
                                                                                                                    $count =count($_POST['serial_no']);
                                                                                                                    for($i=0; $i<$count; $i++){
                                                                                                                        echo htmlentities($_POST['serial_no'][$i]);
                                                                                                                    }
                                                                                                                } ?>" /></td>
                    <td><input type="text" placeholder="IMEI" class="inputs lst" name="imei[]" value="<?php if (isset($_POST['imei'])) {
                                                                                                            echo htmlentities($_POST['imei']);
                                                                                                        } ?>" /></td>
                <?php } ?>
            </tr>
        </table>
    </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...