Передача данных из js в php

370
15 августа 2021, 02:10

Пишу калькулятор вкладов. Размер суммы устанавливается бегунком и выводится в поле c id="summa2". Нужно по нажатию кнопки "Рассчитать" считать значение в переменную php c названием $summa из поля summa2, значение в которое подставляется с помощью функции fun1 написанную на js. Переменная не считывается в php.

<!DOCTYPE html>
<html lang="rus">
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="style.css">
    <title>BANK</title>
    <script type="text/javascript" src="script.js" defer>
    </script>
</head>
<body>
    <div id="wrapper">
            <table id="calc">
                <form name="calc" method="post" action="calc.php">
                    <tr>
                        <td>Сумма вклада</td>
                        <td><input id="summa2" name="summa2" "type="number" min="1000" max="3000000" step="1" required value=""></td>
                        <td><input id="begunok" type="range" min="1000" max="3000000" step="1" value="" oninput="fun1()">
                        </td>
                    </tr>
                    <tr>
                        <td colspan="3"><input id="knopka" type="button" value="Рассчитать">Результат:</td>
                    </tr>   
                </form>
            </table>
        </div>
    </div>
</body>
</html> 
                            function fun1() {
                                 var rng2=document.getElementById('begunok'); 
                                      var summa2=document.getElementById('summa2'); 
                                      summa2.value=rng2.value;
                                      }
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
   $summa = $_POST['summa2']; 
   echo $summa;
}
?>
Answer 1

Два момента в Вашем коде - submit на кнопку не повешен и лишние кавычки в "type="number"

PS calc.php из action убрал, чтоб увиделось содержимое $_POST

<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
       $summa = $_POST['summa2']; 
       echo $summa;
    }
    ?>
    <!DOCTYPE html>
    <html lang="rus">
    <head>
        <meta charset="utf-8">
        <link rel="stylesheet" type="text/css" href="style.css">
        <title>BANK</title>
        <script type="text/javascript" src="script.js" defer>
        </script>
    </head>
    <body>
        <div id="wrapper">
                <table id="calc">
                    <form name="calc" method="post" action="">
                        <tr>
                            <td>Сумма вклада</td>
                            <td><input id="summa2" name="summa2" type="number" min="1000" max="3000000" step="1" required value=""></td>
                            <td><input id="begunok" type="range" min="1000" max="3000000" step="1" value="" oninput="fun1()">
                            </td>
                        </tr>
                        <tr>
                            <td colspan="3"><input id="knopka" type="submit" value="Рассчитать">Результат:</td>
                        </tr>   
                    </form>
                </table>
            </div>
        </div>
        <script>
        function fun1() {
                                     var rng2=document.getElementById('begunok'); 
                                          var summa2=document.getElementById('summa2'); 
                                          summa2.value=rng2.value;
                                          }
                                          </script>
    </body>
    </html> 
READ ALSO
Как в реакте изменить элемент массива в state

Как в реакте изменить элемент массива в state

Пытаюсь изменить элемент массива по методу handleToggle, но возникает ошибка, что я делаю не так, и почему в реакте я все время должен возвращать...

343
Error: TypeScript emitted no output for /frontend/src/index.tsx

Error: TypeScript emitted no output for /frontend/src/index.tsx

При компиляции webpack получаю такую ошибку:

472
При конвертации canvas в DataURL выдаёт белое изображение

При конвертации canvas в DataURL выдаёт белое изображение

Проблема, собственно, описана в заголовке) Ниже мой кодБуду благодарен за любые идеи

114