【问题标题】:Passing data via Modal Bootstrap and getting php variable?通过 Modal Bootstrap 传递数据并获取 php 变量?
【发布时间】:2016-01-07 16:31:34
【问题描述】:

我正在尝试获取通过 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');
    });

我终于有了这个引导模式

<!-- 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 twitter-bootstrap bootstrap-modal


    【解决方案1】:
    <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>
    

    将下面的代码放在&lt;/body&gt;标签结束前的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>
    

    【讨论】:

    • 代码对我来说成功了,非常感谢你,@Nana Partykar 来自墨西哥的问候
    • 我很高兴/很高兴听到我的代码有效。来自印度的问候 @AleexQuiiroz 先生。谢谢。
    【解决方案2】:

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

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

    以下代码有效,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 中获取值

    【讨论】:

    • 你能举个小例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2015-04-25
    • 2016-03-27
    • 1970-01-01
    • 2019-05-25
    相关资源
    最近更新 更多