通过 Modal Bootstrap 传递数据并获取 php 变量?

Passing data via Modal Bootstrap and getting php variable?

我正在尝试获取通过 jquery 传递的输入值并设置到 php 变量中,但我不知道该怎么做。

这个按钮有我要发送的值:

<button type='button' data-a='".$fila['idPlaza']."' href='#editarUsuario' class='modalEditarUsuario btn btn-warning btn-xs' data-toggle='modal' data-backdrop='static' data-keyboard='false' title='Editar usuario'><img src='../images/edit.png' width='20px' height='20px'></button>

然后我有这个js代码来发送值:

    $(document).on("click", ".modalEditarUsuario", function (e) {
        e.preventDefault();

        var self = $(this);

        $("#a").val(self.data('a'));

        $(self.attr('href')).modal('show');
    });

我终于有了这个 bootstrap 模态

<!-- MODAL EDITAR-->
<div id="editarUsuario" class="modal fade modal" role="dialog">
<div class="vertical-alignment-helper">
    <div class="modal-dialog vertical-align-center">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h2 class="modal-title">Editar usuario</h2>
            </div>
            <form name="formularioModificaUsuario" method='post' action="usuarios.php">
            <div class="modal-body">
                <input type="text" class="form-control" name="idPlaza" id="a">
                <?php 
                    $valueA = ???
                ?>
            </div>
            <div class="modal-footer">
                <button type="reset" id="cancelar" class="btn btn-danger" data-dismiss="modal" value="reset"><img src='../images/cancel.png' width='20px' height='20px'> Cancelar</button>
                <button type="submit" name="submitModifica" id="submit" class="btn btn-primary" value="submit"><img src='../images/save_changes.png' width='20px' height='20px'> Guardar cambios</button>
            </div>
            </form>
        </div>
    </div>
</div>
</div>

我的问题是,如何才能将 id='a' 的值输入到 php 变量 $valueA 之后使用?

Php 在您页面上的任何内容之前加载,因此您不能使用 jQuery 或 javascript 设置 php 变量,但可以执行相反的操作。

如果您在加载时最初有文本字段的值,那么您可以在加载时通​​过 php 设置它,否则您需要提交表单才能使用 [=31] 中输入的值=].

以下代码有效,php设置javascript

<?php 
  $valueA = "I am value A";
?>

<script language="javascript">

  var jsValueA = "<?php echo $valueA; ?>";
  alert(jsValueA); // alerts I am value A

</script>

以下代码无效,javascript设置php

 <input type="text" class="form-control" name="idPlaza" id="a">
 <?php 
     $valueA = $("#a").val();
 ?>

这是错误的,因为当PHP执行时,输入字段还没有被创建,而且jQuery不能在PHP范围内执行。 javascript 和 jQuery 在浏览器级别用于管理用户交互和 DOM 对象和事件,而 PHP 在服务器级别而非浏览器级别使用。

所以如果你想设置一个 php 变量,你只能在服务器脚本加载时设置它,即 php 被执行,它在页面中的任何其他内容之前出现。或者您可以从发布的表单 $_POST 或 URI 查询字符串 $_GET

中获取值
<button type='button' data-a="<?echo $fila['idPlaza'];?>" href='#editarUsuario' class='modalEditarUsuario btn btn-warning btn-xs' data-toggle='modal' data-backdrop='static' data-keyboard='false' title='Editar usuario'>
    <img src='../images/edit.png' width='20px' height='20px'>
</button>

</body> 标签结束前的 footer 中放入以下代码。

<!-- MODAL EDITAR-->
<div id="editarUsuario" class="modal fade modal" role="dialog">
    <div class="vertical-alignment-helper">
        <div class="modal-dialog vertical-align-center">
        <div class="modal-content">


        </div>
        </div>
    </div>
</div>

像这样使用脚本

<script>
    $('.modalEditarUsuario').click(function(){
        var ID=$(this).attr('data-a');
        $.ajax({url:"NewPage.php?ID="+ID,cache:false,success:function(result){
            $(".modal-content").html(result);
        }});
    });
</script>

创建NewPage.php,然后粘贴以下代码。 (请记住,此页面名称 NewPage.php 也在脚本标签中使用。如果您打算更改此页面的名称,请在脚本标签中也更改页面名称。两者都是相关的。)

<?
$ID=$_GET['ID'];
?>
<div class="modal-header">
   <button type="button" class="close" data-dismiss="modal">&times;</button>
   <h2 class="modal-title">Editar usuario</h2>
</div>
<form name="formularioModificaUsuario" method='post' action="usuarios.php">
    <div class="modal-body">
        <input type="text" class="form-control" name="idPlaza" id="a">
        <?php 
            $valueA = $ID;
        ?>
    </div>
    <div class="modal-footer">
        <button type="reset" id="cancelar" class="btn btn-danger" data-dismiss="modal" value="reset">
        <img src='../images/cancel.png' width='20px' height='20px'> Cancelar</button>
        <button type="submit" name="submitModifica" id="submit" class="btn btn-primary" value="submit">
        <img src='../images/save_changes.png' width='20px' height='20px'> Guardar cambios</button>
    </div>
</form>