Помогите сделать вывод на печать

penguen

Постоялец
Регистрация
7 Янв 2007
Сообщения
842
Реакции
109
Всем добрый день
Есть форма


script.js его содержимое

Код:
        function calc() {
            var a = document.getElementById("a");
            var b = document.getElementById("b");
            var c = document.getElementById("c");
            var d = document.getElementById("d");
            var e = document.getElementById("e");
            var f = document.getElementById("f");
            var g = document.getElementById("g");
            var result = document.getElementById("result"); 
   
            var square = 0;
            var fundament = 0;
            var material = 0;
            var height = 0;
            var floors = 0;
            var manfloor = 0;
            var roof = 0;
            var price = 0;
            square = a.value.replace (/\,/, '.');
            fundament += parseFloat(b.options[b.selectedIndex].value);
            material += parseFloat(c.options[c.selectedIndex].value);
            height += parseFloat(d.options[d.selectedIndex].value);
            floors += parseFloat(e.options[e.selectedIndex].value);
            manfloor += (f.checked == true) ? parseFloat(f.value) : 0;
            roof += parseFloat(g.options[g.selectedIndex].value);
            price = square * fundament + square * material * height * floors + square * material * height * manfloor + square * roof;
            price = price.toFixed(2);
            price_meter = price / ((floors + manfloor) * square);
            price_meter = price_meter.toFixed(2);
            result.innerHTML = price;
            result_meter.innerHTML = price_meter;
            }
   
   
        var ok1=false
        function test(form)
            {
                if (form.sq.value.replace (/\,/, '.') == "")
                {
                    ok1=false;
                    document.getElementById('res').style.display = 'none';
                    document.getElementById('alert').style.display = 'block';
                }
   
                else ok1=true;
 
                if (form.sq.value.replace (/\,/, '.')/form.sq.value.replace (/\,/, '.'))
                {
                    ok1=true;
                    document.getElementById('res').style.display = 'block';
                    document.getElementById('alert').style.display = 'none';
                }
 
                else {ok1=false;
                    document.getElementById('res').style.display = 'none';
                    document.getElementById('alert').style.display = 'block';
                    }
 
   
            if(ok1)
                {
                    document.getElementById('res').style.display = 'block';
                    document.getElementById('alert').style.display = 'none';
                }
            }
 
 
 
        function mat() {
            var c = document.getElementById("c");
            var material = 0;
            material += parseFloat(c.options[c.selectedIndex].value);
            if (material == "12507.3") {
                    document.getElementById('mat1').style.display = 'block';
                    document.getElementById('mat2').style.display = 'none';
                    document.getElementById('mat3').style.display = 'none';
                    document.getElementById('mat4').style.display = 'none';
                    document.getElementById('mat5').style.display = 'none';
                    document.getElementById('mat6').style.display = 'none';
                }
 
            if (material == "15159") {
                    document.getElementById('mat1').style.display = 'none';
                    document.getElementById('mat2').style.display = 'block';
                    document.getElementById('mat3').style.display = 'none';
                    document.getElementById('mat4').style.display = 'none';
                        document.getElementById('mat5').style.display = 'none';
                    document.getElementById('mat6').style.display = 'none';
                }
 
            if (material == "14340") {
                    document.getElementById('mat1').style.display = 'none';
                    document.getElementById('mat2').style.display = 'none';
                    document.getElementById('mat3').style.display = 'block';
                    document.getElementById('mat4').style.display = 'none';
                        document.getElementById('mat5').style.display = 'none';
                    document.getElementById('mat6').style.display = 'none';
                }
 
            if (material == "16767.3") {
                    document.getElementById('mat1').style.display = 'none';
                    document.getElementById('mat2').style.display = 'none';
                    document.getElementById('mat3').style.display = 'none';
                    document.getElementById('mat4').style.display = 'block';
                        document.getElementById('mat5').style.display = 'none';
                    document.getElementById('mat6').style.display = 'none';
                }
 
                        if (material == "15948.3") {
                    document.getElementById('mat1').style.display = 'none';
                    document.getElementById('mat2').style.display = 'none';
                    document.getElementById('mat3').style.display = 'none';
                    document.getElementById('mat4').style.display = 'none';
                        document.getElementById('mat5').style.display = 'block';
                    document.getElementById('mat6').style.display = 'none';
                }
 
              if (material == "20918.7") {
                    document.getElementById('mat1').style.display = 'none';
                    document.getElementById('mat2').style.display = 'none';
                    document.getElementById('mat3').style.display = 'none';
                    document.getElementById('mat4').style.display = 'none';
                        document.getElementById('mat5').style.display = 'none';
                    document.getElementById('mat6').style.display = 'block';
                }
           
            }
 
 
   
        function printit(){
            if (window.print) {
                window.print() ;
            } else {
                var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
                document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
                WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
            }
        }

И сам скрипт вывода на печать raschet.php

PHP:
<?php
 
$sq=$_REQUEST["sq"];
$material=$_REQUEST["material"];
$fundament=$_REQUEST["fundament"];
$visota=$_REQUEST["visota"];
$etajnost=$_REQUEST["etajnost"];
$mansard=$_REQUEST["mansard"];
$krovlya=$_REQUEST["krovlya"];
 
$price=$_REQUEST["price"];
 
$price_meter=$_REQUEST["price_meter"];
 
 
 
$sum=$_REQUEST["sum"];
?>
<html>
        <head>
            <title>Печать результатов расчета</title>
            <link href="/print.css" rel="stylesheet" media="all" />
            <meta charset="utf-8">
               
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
        </head>
        <body onload="1window.print();">
            <div style="border: 1px solid #D3EDFF; margin: 10px; padding: 5px; width: 750px; font-size: 11pt; ">
                <div style="">
                    <div style="float: left;">
                        <img src="" alt="Теплокрепость" style="margin: 0 auto;" />
                    </div>
                    <div style="float: right; padding-top: 20px;">
                        <p>620041, г. Екатеринбург, <br />ул. Маяковского, 25/a, оф. 603</p>
                        <p>ИНН 6673207994 / КПП 667301001 <br />ОГРН 1096673012831</p>
                    </div>
                </div>
                <div style="clear: both; height: 20px; width: 100%;"></div>
                <div>
                    <p>&nbsp;&nbsp;&nbsp;&nbsp;Решили строить дом? Коллектив ООО "ТеплоКрепость" готов удовлетворить желания любого заказчика.
                    Имея 20-летний опыт загородного домостроения, мы можем предложить Вашему вниманию различные технологии строительства.</p>
                    <p>
                    &nbsp;&nbsp;&nbsp;&nbsp;Вы использовали программу "калькулятор" на нашем сайте и получили приблизительный расчет дома по выбранным параметрам:
                    </p>
                    <p><h4>Параметры&nbsp;расчета</h4><b>Площадь</b>: <?php echo $sq;?><br />
                    <b>Фундамент</b>: <?php echo $fundament;?><br />
                    <b>Материал</b>: <?php echo $material;?><br />
                    <b>Высота этажа</b>: <?php echo $visota;?><br />
                    <b>Этажность</b>: <?php echo $etajnost;?><br />
                    <b>Кровля</b>: <?php echo $krovlya;?><br />
                    <b>Отношение окон и дверей к площади стен</b>: 15%<br /></p>
                    <p><h4>Результаты&nbsp;расчета: </h4>Стоимость строительства составляет:
                    <strong>
   
<script language="javascript">
var message = document.getElementById("result");
$.get('http://http://ck-lider.ru/raschet.php', {message:message}, function(data)    {
    alert('Сервер ответил: '+data);
});
</script>
                   
                   
                    <?php echo $sum; ?></strong> руб. <br />Стоимость кв. метра: <strong><?php echo $price_meter;?></strong> руб.<br /></p>
                    <p><br />
                    <b>В стоимость включена следующая комплектация:</b> <br />
                    <ul>
                        <li>Фундамент</li>
                        <li>Перекрытия</li>
                        <li>Кровля (металлическая или битумная черепица)</li>
                        <li>Окна пластиковые 2-х камерный стеклопакет</li>
                        <li>Двери наружные (Форпост)</li>
                        <li>Отделка фасадов (декоративная штукатурка)</li>
                        <li>Лестница (материал ЛВЛ)</li>
                        <li style="list-style: none;"><b>Инженерные сети</b>
                        <b>до отметки ±0,000 (чистовой пол 1-го этажа)</b></li>
                       
                    </ul><br />
                    Точную смету стоимости дома Вы можете получить после разработки рабочего проекта.
                    </p><br />
                   
                </div>
                <div style="padding-top: 30px;">
                    <b>Тел./факс: (343) 389-82-32, 389-82-33</b><br />
                    E-mail: tim-246@mail.ru, <br />
                    Web: www.teplokrepost.ru
                </div>
            </div>
        </body>
    </html>
Не могу вывести/отобразить на странице печати данные result и result_meter

id=result это слой дива. Значение калькуляции считается javascript. Не могу передать post запросом на скрипт raschet.php

Помогите плиз.

Может после моря, туплю мрачно, что-то делаю не так. С утра бьюсь, не могу осилить.
 
Сань, да так и так возился. Ничего не работает.
 
есть поля:

<input type="hidden" name="price" value="0,00"/>
<input type="hidden" name="price_meter" value="0,00"/>

теперь в формуле расчета добавь после:
result.innerHTML = price;
result_meter.innerHTML = price_meter;
это
document.forms['calculate'].price.value= price;
document.forms['calculate'].price_meter.value= price_meter;
это заполнит результатами поля hidden, которые просто прочитаешь гетом на пхп в странице печати расчетов
 
Назад
Сверху