2015-10-09 97 views
4

我想獲得通過jquery傳遞的輸入值並設置爲一個php變量,但我不知道該怎麼做。通過Modal Bootstrap傳遞數據並獲取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之後使用?

回答

3
<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> 
+0

該代碼對我成功工作,非常感謝你,@Nana Partykar來自墨西哥的問候 –

+0

我非常高興/很高興聽到我的代碼工作。來自印度的問候先生@AleexQuiiroz。謝謝你。 –

0

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

+0

莫非你給我一個小例子? –

+0

查看編輯查看區別 – KAD