簡體   English   中英

通過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才能使用?

<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>標記結束之前將代碼放在頁腳中

<!-- 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>

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獲取值

暫無
暫無

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

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