将按钮ID存储到php中的变量中

时间:2017-07-27 08:47:18

标签: php

我有这个示例按钮<button id="red1"></button>有没有办法可以访问/存储这个按钮到php中的变量?我试图搜索相同的问题,但它们与jquery或javascripts有关。

3 个答案:

答案 0 :(得分:0)

正如Vladimir所说,PHP是一种服务器端语言,因此您无法访问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');

}

答案 1 :(得分:0)

要获取按钮的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

?>

答案 2 :(得分:-2)

PHP是一种服务器端语言,无法访问和更改已生成的文档,但您可以获取文档内容并对其进行解析。在您的示例中,您可以像这样获取此链接http://example.local/form的HTML内容:

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

但是对于客户端更改,您需要使用Javascript。