[英]how to change the variable of php with javascript button click without reloading the page
[英]Javascript button click change / create PHP variable on same page
我已經搜索了過去一個小時的stackoverflow,發現了類似的問題,但是嘗試解決方案僅給我帶來了錯誤-可能是因為我試圖將其加載到同一頁面上。
我試過將值保存到JS中的cookie,然后將其加載到php中,也嘗試通過ajax等。
從我所讀的內容中,我無法做到,因為PHP是服務器端,而Javascript是瀏覽器端。
我目前有一個.html頁面,其表單通過POST發送值:
form.html
<form id="calc" form name="calculator" method="post" action="/calculate.php">
解決方案不是使用表單,因為用戶需要輸入,所以不能有隱藏字段。 我可以以yes的形式創建一個單選框,然后以這種方式獲取值,但這不是我的問題。 我的問題是如何獲取用戶的輸入並將其轉換為頁面上的php,表單將其重定向到calculate.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,例如通過calculate.php上的javascript而不是表單。
我的問題是我需要在同一頁面上知道-calculate.php,在php中單擊了哪個按鈕。 這樣我就可以使用他們的輸入,並根據哪個按鈕執行不同的操作。
是否有可能獲得一個要設置的值,或通過單擊calculate.php本身的按鈕創建一個值,而javascript按鈕在同一頁面上生成一個php值? 是否需要通過Ajax從external.php頁面加載? 還有其他辦法嗎?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.