簡體   English   中英

將按鈕ID存儲到php中的變量中

[英]Store a button id into a variable in php

我有這個示例按鈕<button id="red1"></button>有沒有一種方法可以將這個按鈕訪問/存儲到php中的變量中? 我試圖搜索相同的問題,但它們與jquery或javascripts有關。

正如弗拉基米爾(Vladimir)所說,PHP是一種服務器端語言,因此在將DOM發送到客戶端后,您將無法訪問和操縱DOM。 我們使用客戶端語言Javascript來實現這一目標。

您已經問過How to store a button id into a variable in PHP? 不知道這是否真的是您要的,但這就是方法。

PHP文件:

<?

$myId = 'elementId';

// this will echo the button with the id elementId
echo '<button id="'.$myId.'"></button>';

使用AJAX

但是,如果您有多個具有不同ID的按鈕,並且想知道服務器端用戶單擊了哪個按鈕的ID,則應使用Masivuye提出的AJAX。

AJAX代表“異步JavaScript和XML”。 盡管名稱包括XML,但由於JSON格式簡單且冗余度較低,因此更常用。 AJAX允許用戶與外部資源進行通信,而無需重新加載網頁。

HTML:

<button id="buttonA" class="buttonAction">A</button>
<button id="buttonB" class="buttonAction">B</button>
<button id="buttonC" class="buttonAction">C</button>
<button id="buttonD" class="buttonAction">D</button>

JS:

$(document).ready(function() {

  $('.buttonAction').click(function() {

    var id = $(this).attr('id');

    $.ajax({

       url: "myphpfile.txt",

       data: id,

       success: function(response){

        // if you have echoed something in your PHP file 
        // then you can access that with var `response`

        }

     });


  });


});

PHP:

<?

if(isset($_REQUEST['id'])) {

    $data = json_decode($_REQUEST['id'])

    echo json_encode('true');

} else {

    echo json_encode('false');

}

要獲取按鈕的ID,可以使用jquery .prop()方法/函數,該方法/函數用於獲取匹配元素集中第一個元素的屬性值,或者為每個匹配元素設置一個或多個屬性。 然后,您可以使用ajax將該id的值發送到服務器端。

這是如何做 :

<script src="https://code.jquery.com/jquery-3.2.1.min.js"  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>

<button id="red1">Button text</button>

<script type="text/javascript">

    $('#red1').on('click',function(){


        var btnId = $(this).prop('id');

        $.ajax({


            type :"POST",
            data : {buttonID : btnId},
            url  :"action.php",
            dataType : "json",
            encode : true,
            success : function(data){

                alert(data);
            }
        })


    });
</script>

然后是服務器端action.php

<?php

    $btnID = $_POST['buttonID'];

    //do what ever you want to do with this ID. $btnID

    echo json_encode($btnID); //send back the id to the front end as json format

?>

PHP是一種服務器端語言,無法訪問和更改已生成的文檔,但是您可以獲取文檔內容並進行解析。 在您的示例中,您可以像以下方式獲取此鏈接http://example.local/form的HTML內容:

$doc = file_get_contents('http://example.local/form');
// Now parse $doc

但是對於客戶端更改,您需要使用Javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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