我搜索过去一小时的stackoverflow并找到了类似的问题,但尝试解决方案只给了我错误 - 可能是因为我试图将它加载到同一页面上。
我尝试将值保存到JS中的cookie然后将其加载到php中,也尝试通过ajax等。
从我所读到的内容不能仅仅在PHP内部进行,因为PHP是服务器端,而Javascript是浏览器方面。
我目前有一个.html页面,其中包含通过POST发送值的表单:
form.html
<form id="calc" form name="calculator" method="post" action="/calculate.php">
解决方案不是表单,我不能有隐藏字段,因为我需要用户输入。我可以在形式是一个收音机盒然后以那种方式获得价值,但这不是我的问题。我的问题是如何在表单重定向到calculate.php的页面上获取用户的输入并将其转换为php:
calculate.php
<?php
if(isset($_POST['submit'])){
$x= $_POST['value'];
echo "your something:";
echo $x;
?>
Click button below for option one to do this, or click two for that, or three for something else...
<button id="one"> one </button>
<script>
$(document).ready(
function() {
$("#one").click(function() {
make php value 1
});
</script>
use php value from click
因此用户已经点击了提交。然后使用他们的输入重定向到.php页面,然后他们可以选择按钮1,2或3,例如通过compute.php上的javascript NOT 表单。
我的问题是我需要在同一页面上知道 - calculate.php,在php中点击了哪个按钮。因此我可以使用他们的输入并根据哪个按钮执行不同的操作。
是否可以通过按钮点击calculate.php本身获取一个值来设置或创建一个值javascript按钮在同一页面上生成一个php值?是否需要通过ajax从external.php页面加载?还有其他办法吗?
答案 0 :(得分:0)
PHP选项:
<?php
if(isset($_POST['submit'])){
$x= (isset($_POST['one'])) ? $_POST['one'] : '';
$y = (isset($_POST['two'])) ? $_POST['two'] : '';
$z = (isset($_POST['three'])) ? $_POST['three'] : '';
echo "your something:";
echo $x;
echo $y;
echo $z;
?>
<form name="calculator" method="post">
<INPUT TYPE="RADIO" NAME="one" VALUE="1"> ONE
<INPUT TYPE="RADIO" NAME="two" VALUE="2"> TWO
<INPUT TYPE="RADIO" NAME="three" VALUE="3"> THREE
<input type="submit" value="Submit">
</form>
JS模式:
if(isset($_POST)){
$value= (isset($_POST['value'])) ? $_POST['value'] : '';
$previous = (isset($_POST['previous'])) ? $_POST['previous'] : '';
//play with value and previous one
$x = //your algorithm;
echo "your something:";
echo $x;
?>
<form name="calculator" method="post">
<button type="button" value='1'>ONE</button>
<button type="button" value='2'>TWO</button>
<button type="button" value='3'>THREE</button>
<input name='value' type='hidden' value=''>
<input name='previous' type='hidden' value='<?= (isset($x)) ? $x : ''?>'>
</form>
<script>
$(document).ready(
function() {
$("button").click(function() {
$('input[name=value]').val($(this).val());
$('form').submit();
});
</script>
use php value from click