Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему сломалась функция?
 
 автор: Владимир55   (04.06.2013 в 13:37)   письмо автору
 
 

Перестала работать всплывающая форма, код которой приведен ниже. Файл 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"}

  Ответить  
 
 автор: Deed   (04.06.2013 в 17:42)   письмо автору
 
   для: Владимир55   (04.06.2013 в 13:37)
 

Опять нагромождение...

  Ответить  
 
 автор: Владимир55   (04.06.2013 в 17:55)   письмо автору
 
   для: Deed   (04.06.2013 в 17:42)
 

Какая разница - это же макет! Тут главное - что бы работало.

  Ответить  
 
 автор: Deed   (04.06.2013 в 19:59)   письмо автору
126.1 Кб
 
   для: Владимир55   (04.06.2013 в 17:55)
 

Значения ключей приходят пустые -> см. аттач

  Ответить  
 
 автор: Владимир55   (04.06.2013 в 20:17)   письмо автору
 
   для: Deed   (04.06.2013 в 19:59)
 

Пустые потому, что Вы не соединились с базой. А на самом деле инфа есть и это видно из содержимого файла control.txt. Артикул, название и другие параметры - всё есть (кроме producer - но это уже неважно).

Скрипт изначально работал, но потом что-то случайно повредилось...

Ладно, попробую решить задачу как-нибудь совсем иначе...

  Ответить  
 
 автор: Deed   (04.06.2013 в 21:41)   письмо автору
 
   для: Владимир55   (04.06.2013 в 20:17)
 

Хорошо, давайте пропишем произвольные данные в json.php вручную, без базы и посмотрим, что получится.
FireBug ошибок javascript не поймал.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования