Я знаю, что об этом много спрашивали, но, посмотрев на это около 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 });
});
С помощью $kime = $_POST['kime']; print $kime;
в korisnici.php не показывает значение вообще, но используя <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">×</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 -->
В конце концов, после долгих часов бесконечных поисков и чтений я нашел решение этой проблемы. Вместо того, чтобы отправлять переменную в модальный режим и выполнять запрос внутри модального режима, я выполнял запрос перед модальным и отправлял все нужные мне значения следующим образом.
<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">×</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 -->
Спасибо всем, кто пытался помочь! До следующего раза!
Я думаю, что вы ошиблись в синтаксисе. Вы должны назвать это так:
$.ajax({
type: "POST",
url: "korisnik.php",
data:
{
kime: kime
}
});
Вам не хватает закрывающей фигурной скобки в функции щелчка.
$.post('korisnik.php', { 'kime': kime });
Над постом тоже должен работать.
Получить его в PHP следующим образом:
$kime = $_POST['kime'];