У меня 2 файла: grampermol.php и kemi.html. В kemi.html я вызываю функцию javascript, которая запускает файл grampermol.php при нажатии кнопки. У меня проблема в том, что я не могу получить значения из поля ввода в php, которое находится в html-файле.
Функция кнопки kemi.html:
<input type="text" name="molar_mass" id="molar_mass" placeholder="Fx CH4" size="20">
<br>
<button style="margin-bottom: 1em; margin-top: 1em;" name="BUTTON_1" onclick="gramsPerMole()" type="submit" class="btn btn-success">Beregn</input>
grampermol.php:
<?php
function calculate() {
$formula = $_POST['molar_mass'];
}
calculate();
?>
Я получаю сообщение о том, что molar_mass не существует.
Чтобы сделать это, вам нужен вызов ajax Jquery. Сначала вы должны понять, что php — это язык на стороне сервера, а javascript / jquery — на стороне клиента. В приведенных ниже кодах вы сначала увидите код kemi.html. Как вы увидите, когда устанавливаете входное значение и затем нажмите кнопку, затем код Jquery принимает входное значение с помощью метода post ajax и отправляет его на страницу grampermol.php. На странице grampermol.php, когда у вас есть действительное значение postg суперглобальной переменной, вы получаете его, а затем выведите его через функцию json_encode (). Переменная echoed отправляет обратно в метод .done ajax и оповещает об этом.
код kemi.html:
$(document).ready(function (){
$('#grams').on('click',function (){
var a=$('#molar_mass').val();
$.ajax({
url: "grampermol.php",
method:'POST',
dataType: 'JSON',
data:{data:a}})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="molar_mass" id="molar_mass" placeholder="Fx CH4" size="20">
<br>
<button style="margin-bottom: 1em; margin-top: 1em;" name="BUTTON_1" id="grams" type="submit" class="btn btn-success">CLICK</button>
<!-- html form file -->
<!-- i dont know how your gramsPerMole() is so this is what i can help you with tell me if it works-->
<form action="grampermol.php" method="post">
<input type="text" name="molar_mass" id="molar_mass" placeholder="Fx CH4" size="20"><br>
<button type="submit" style="margin-bottom: 1em; margin-top: 1em;" name="BUTTON_1" onclick="gramsPerMole()" class="btn btn-success"> Beregn </button>
<!--grampermole.php file -->
<?php
function calculate() {
$formula = $_POST['molar_mass'];
return;`enter code here`
}
calculate();
?>