簡體   English   中英

Javascript按鈕單擊更改/在同一頁面上創建PHP變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM