|
|
|
| Перестала работать всплывающая форма, код которой приведен ниже. Файл json.php со своими обязанностями справляется и это видно из текстового файла control.txt, который записывается для контроля. Из него же видно, что запрашиваемая информация имеется в базе, однако поля всплывающей формы остаются пустыми.
Что здесь неверно?
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.simplemodal.js"></script>
<script src='js/jquery.form.js'></script>
<link href="css/modal.css" rel="stylesheet" type="text/css" />
<script>
function openWindow(module, id){
$('#modalContainer').modal({onShow: function (dialog) {
$.getJSON('json.php?id='+id+'&module='+module, function(data){
$.each(data, function(key, val){
$("#"+key).val(val);
});
});
}});
};
var options = {
target:"#output",
success: function(data){
if($(data).attr("id")=='success'){
$("#ActionsForm").hide('slow',function(){$("#modalContainer").css('margin-left',-$('#modalContainer').outerWidth()/2)});
}
}
};
</script>
</head>
<body>
<p><a title="Изменить" href="#" onclick="openWindow('katalog', '1031383');">Заказать</a></p>
<div id="modalContainer" style="display:none;">
<div id="messageText">
<form action="server.php" method="post" onsubmit="$(this).ajaxSubmit(options);return false;">
<input type="hidden" id="module" name="module" value="">
<input type="hidden" id="id_tov" name="id_tov" value="">
<table id="ActionsForm" width="600" bgcolor="#F2FFFF" border="0px" cellpadding="0px" cellspacing="10px">
<tr>
<td>
<input type="text" id="producer" name="producer" value="" style="width:600px;" /><br />
</td>
</tr>
<tr>
<td>
<input type="text" id="artikul" name="artikul" value="" style="width:600px;" /><br />
</td>
</tr>
<tr>
<td>
<textarea name="name_tov" id="name_tov" " style="width:600px;" rows="2"></textarea>
</td>
</tr>
<tr>
<td>
<input type="text" id="cena" name="cena" value="" /><br />
</td>
</tr>
<tr>
<td>
<input type="text" id="kol" name="kol" value="" /><br />
</td>
</tr>
<tr>
<td style="text-align:center;" colspan="2">
<input type="submit" value="Сохранить" />
</form>
</td>
</tr>
</table>
<table width="100%" bgcolor="#F2FFFF" >
<tr>
<td style="text-align:center;" colspan="2">
<div id="output"></div>
</td>
</tr>
</table>
</div>
</div>
|
Файл json.php
<?php
include ("../detal/db-config.php") ;
$module = $_GET['module'];
if ($module == "katalog")
{
$id_tov = $_GET['id'];
unset($res);
unset($row);
$res = mysql_query("SELECT producer, artikul, name_tov, cena, kol FROM kattov WHERE id = '$id_tov'");
$row = mysql_fetch_array($res);
$data = array('producer'=>$row['producer'], 'artikul'=>$row['artikul'], 'name_tov'=>$row['name_tov'], 'cena'=>($row['cena']/100), 'kol'=>$row['kol'], 'module'=>$module, 'id_tov'=>$id_tov);
echo json_encode($data);
file_put_contents('control.txt', json_encode($data));
}
|
Содержимой файла control.txt
{"producer":"","artikul":"XZN-234500","name_tov":"\u0414\u043e\u0431\u0430\u0432\u043b\u04 35\u043d\u043e 10:50 \u0421\u0442","cena":27.41,"kol":"7","module":"katalog","id_ tov":"1031383"}
|
| |
|
|
|
|
|
|
|
для: Владимир55
(04.06.2013 в 13:37)
| | Опять нагромождение... | |
|
|
|
|
|
|
|
для: Deed
(04.06.2013 в 17:42)
| | Какая разница - это же макет! Тут главное - что бы работало. | |
|
|
|
|
 126.1 Кб |
|
|
для: Владимир55
(04.06.2013 в 17:55)
| | Значения ключей приходят пустые -> см. аттач | |
|
|
|
|
|
|
|
для: Deed
(04.06.2013 в 19:59)
| | Пустые потому, что Вы не соединились с базой. А на самом деле инфа есть и это видно из содержимого файла control.txt. Артикул, название и другие параметры - всё есть (кроме producer - но это уже неважно).
Скрипт изначально работал, но потом что-то случайно повредилось...
Ладно, попробую решить задачу как-нибудь совсем иначе... | |
|
|
|
|
|
|
|
для: Владимир55
(04.06.2013 в 20:17)
| | Хорошо, давайте пропишем произвольные данные в json.php вручную, без базы и посмотрим, что получится.
FireBug ошибок javascript не поймал. | |
|
|
|