2015-02-07 71 views
1

我知道這已被問了很多,但經過6個小時的查找後,我可以說我已經嘗試了所有與我目前的知識(這並不多),我可以理解所以我決定來這裏尋求專業人士的幫助:)。阿賈克斯 - 莫代爾 - 傳遞變量

此按鈕也在裏面korisnik.php

<button href="#myModal1" type="submit" role="button" data-toggle="modal" data-id="<?php print $row['kime']?>" class="open-myModal1"><span class="glyphicon glyphicon-edit"/></button> 

這往上頂是一個按鈕,單擊時打開一個模式,應該在價值傳遞給它,但事實並非如此。通過大量的網帖後,看我找到了最簡單的方法就是通過AJAX給變量發回,所以我用這個:

這是坐落在korisnik.php

$(document).on("click", ".open-myModal1", function() 
{ 
    var kime = $(this).data('id'); 
    $(".modal-body #kime").val(kime); 
    $.post('korisnik.php', { 'kime': kime }); 
}); 

底部使用在korisnici.php中的$kime = $_POST['kime']; print $kime;根本不顯示數值,但使用<input type="text" name="kime" id="kime" value=""/>。有效的問題是,我仍然沒有在變量中使用所需的值,並且無法使用它根據發送的值進行查詢。

所以我的問題是:

如何使AJAX這個工作,所以我可以得到$ _ POST [「KIME」]的價值?

我如何保存在變量中輸入字段中的值?

我希望我的要求已經足夠清晰。這些工作中的任何一個,因爲我得到我想要的,這是一個值保存在一個變量,我可以用於其他事情。

感謝您的任何幫助。

編輯:這是korisnik.php

  <div class="modal fade" id="myModal1"> 
      <div class="modal-dialog"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button class="close" data-dismiss="modal">&times;</button> 
         <center><h4 class="modal-title">EDIT KORISNIKA</h4></center> 
        </div><!-- end header --> 
        <hr/> 
        <div class="modal-body"> 
         <!--<input type="text" name="kime" id="kime" value=""/>--> 
         <input type='text' name='kime' id='kime' value=''/> 
         <form class="form-horizontal" action='korisnik.php' method="post"> 
         <?php 
         $kime = $_POST['kime']; 
         $query = $db->prepare("SELECT * FROM korisnik WHERE kime = :kime");    
         $query-> execute(array(':kime' => $kime)); 
         $result = $query->fetch(); 
         ?> 
          <table class="table table-striped"> 
           <tr><th style="vertical-align:middle"><center>Korisničko Ime</center></th><td><input readonly class="form-control" name="username" value="<?php print $result['kime'] ?>"id="username" type="text"></td></tr> 
           <tr><th style="vertical-align:middle"><center>Ime</center></th><td><input class="form-control" onkeydown="ime(this)" onkeyup="ime(this)" onblur="ime(this)" onclick="ime(this)" name="name" id="name" value="<?php print $result['ime'] ?>" type="text"></td></tr> 
           <tr><th style="vertical-align:middle"><center>Prezime</center></th><td><input class="form-control" onkeydown="ime(this)" onkeyup="ime(this)" onblur="ime(this)" onclick="ime(this)" name="surname" id="surname" value="<?php print $result['prezime'] ?>" type="text"></td></tr> 
           <tr><th style="vertical-align:middle"><center>E-Mail</center></th><td><input class="form-control" name="email" id="email" onkeydown="emailk(this)" onkeyup="emailk(this)" onblur="emailk(this)" onclick="emailk(this)" value="<?php print $result['email'] ?>" type="email"></td></tr> 
           <tr><th style="vertical-align:middle"><center>Kredit</center></th><td><input class="form-control" name="kredit" id="kredit" onkeydown="alpha(this)" onkeyup="alpha(this)" onblur="alpha(this)" onclick="alpha(this)" value="<?php print $result['kredit'] ?>" type="number"></td></tr> 
          </table> 
        </div><!-- end body--> 
        <hr/> 
        <div class="modal-footer"> 
         <input type="submit" class="btn btn-success pull-left" name="editk" value="Spremi Promjene" /> 
         </form>   
         <button class="btn btn-default pull-right" data-dismiss="modal" type="button">Odustani</button> 
        </div><!-- end footer --> 
       </div><!-- end modal-content --> 
      </div><!-- end modal-dialog --> 
     </div><!-- end modal --> 

回答

1
到底

所以:

檢索在PHP如下。而不是發送變量到模態,並在模態內進行查詢,我沒有在模態之前查詢,併發送了我需要的所有值。

<script type="text/javascript"> 

    $(document).on("click", ".open-myModal1", function() 
    { 

     var kime = $(this).data('id'); 
     var ime = $(this).data('ime'); 
     var prezime = $(this).data('prezime'); 
     var email = $(this).data('email'); 
     var kredit = $(this).data('kredit'); 

     $(".modal-body #username").val(kime); 
     $(".modal-body #name").val(ime); 
     $(".modal-body #surname").val(prezime); 
     $(".modal-body #email").val(email); 
     $(".modal-body #kredit").val(kredit); 
    }); 
    </script> 

和我用來打開模式的按鈕是這樣的。

<button href="#myModal1" role="button" data-toggle="modal" data-id="<?php print $row['kime']?>" data-ime="<?php print $row['ime']?>" data-prezime="<?php print $row['prezime']?>" data-email="<?php print $row['email']?>" data-kredit="<?php print $row['kredit']?>" class="open-myModal1"></button> 

模態代碼:

<div class="modal fade" id="myModal1"> 
     <div class="modal-dialog"> 
      <div class="modal-content"> 
       <div class="modal-header"> 
        <button class="close" data-dismiss="modal">&times;</button> 
        <center><h4 class="modal-title">EDIT KORISNIKA</h4></center> 
       </div><!-- end header --> 
       <hr/> 
       <div class="modal-body"> 
        <form class="form-horizontal" action='korisnik.php' method="post"> 
         <table class="table table-striped"> 
          <tr><th style="vertical-align:middle"><center>Korisničko Ime</center></th><td><input readonly class="form-control" name="username" value=""id="username" type="text"></td></tr> 
          <tr><th style="vertical-align:middle"><center>Ime</center></th><td><input class="form-control" onkeydown="ime(this)" onkeyup="ime(this)" onblur="ime(this)" onclick="ime(this)" name="name" id="name" value="" type="text"></td></tr> 
          <tr><th style="vertical-align:middle"><center>Prezime</center></th><td><input class="form-control" onkeydown="ime(this)" onkeyup="ime(this)" onblur="ime(this)" onclick="ime(this)" name="surname" id="surname" value="" type="text"></td></tr> 
          <tr><th style="vertical-align:middle"><center>E-Mail</center></th><td><input class="form-control" name="email" id="email" onkeydown="emailk(this)" onkeyup="emailk(this)" onblur="emailk(this)" onclick="emailk(this)" value="" type="email"></td></tr> 
          <tr><th style="vertical-align:middle"><center>Kredit</center></th><td><input class="form-control" name="kredit" id="kredit" onkeydown="alpha(this)" onkeyup="alpha(this)" onblur="alpha(this)" onclick="alpha(this)" value="" type="number"></td></tr> 
         </table> 
       </div><!-- end body--> 
       <hr/> 
       <div class="modal-footer"> 
        <input type="submit" class="btn btn-success pull-left" name="editk" value="Spremi Promjene" /> 
        </form>   
        <button class="btn btn-default pull-right" data-dismiss="modal" type="button">Odustani</button> 
       </div><!-- end footer --> 
      </div><!-- end modal-content --> 
     </div><!-- end modal-dialog --> 
    </div><!-- end modal --> 

感謝所有誰試圖幫助!直到下一次!

0

內模態代碼,我認爲你的語法錯誤。你應該這樣稱呼它:

$.ajax({ 
type: "POST", 
url: "korisnik.php", 
data: 
    { 
    kime: kime 
    } 
}); 
0

你錯過了一個關閉大括號上你的點擊功能。

$.post('korisnik.php', { 'kime': kime }); 

以上帖子也應該有效。什麼似乎沒有盡頭的搜索和閱讀中,我找到了解決這一小時後

$kime = $_POST['kime']; 
+0

我已經修復了缺少的花括號,但忘記了在這裏編輯它。試過也使用這個你發佈而不是ajax,但它不起作用。問題可以在korisnik.php裏面嗎?也許代碼的位置是問題。當我點擊按鈕模態窗口打開,但變量沒有通過...內部模態我把'$ kime = $ _POST ['kime'];打印$ kime;'但它不會在模態內打印它。我會張貼整個korisnik.php,但它非常巨大。謝謝回覆。 – 2015-02-08 17:03:35

+0

如果您使用Chrome作爲瀏覽器,您可以在檢查器中檢查您的網絡選項卡,以查看該帖子是否確實將正確的數據發送到您的php文件。 – gvhuyssteen 2015-02-09 06:07:06

+0

嘗試了你說的話,當我點擊按鈕時,我在網絡標籤中得到了這個。 http://i61.tinypic.com/120h0rn.png我認爲這意味着值通過POST傳遞。那麼,爲什麼我不能用$ _POST來獲取變量呢? – 2015-02-09 08:46:15