Как разобраться с кодом при выводе на печать?

Я пытался создать онлайн-калькулятор - но увы, так и не осилил его. Всен в принципе работает, считает. Вот только при нажатии на "Распечатать счет" и "Распечатать смету" - выбрасывает ошибку и соответственно ни чего не происходит.
<meta content="text/html; charset=windows-1251" http-equiv="Content-Type" />
<script language="javascript" src="../upload/catalog/model/BuildCalc/ie6-fix.js"></script>
<script language="javascript" src="../upload/catalog/model/BuildCalc/page.js?version=1319653167"></script>
<link href="../upload/catalog/view/theme/default/stylesheet/style.css?version=1319653167" rel="StyleSheet" type="text/css" />
<link href="../upload/catalog/model/BuildCalc/pageContent.css?version=1319653167" rel="StyleSheet" type="text/css" />
<script language="javascript" src="../upload/catalog/model/BuildCalc/BuildCalc.js?version=1319653167"></script>
<link href="../upload/catalog/model/BuildCalc/BuildCalc.css?version=1319653167" rel="StyleSheet" type="text/css" />
<div class="content pageContent">
<p xmlns="">Тут описание калькулятора, мол что и для чего он нужен</p>

<form action="../upload/catalog/model/BuildCalc/Print" class="buildCalc" onsubmit="return false;" target="_blank"><input id="output-method" name="output-method" type="hidden" value="build-calc" />
<div class="buildCalcGroup">
<div class="star">
<div class="starContent"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Разборка<b>&nbsp;↓</b><i>&nbsp;↑</i></a></div>
</div>

<table>
	<thead>
		<tr>
			<td class="buildCalcTd1">Вид работы</td>
			<td class="buildCalcTd2">Цена, грн.</td>
			<td class="buildCalcTd3">Ед. изм.</td>
			<td class="buildCalcTd4">Кол-во</td>
			<td class="buildCalcTd5">Сумма, грн.</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td class="buildCalcTd1">Разборка чего-либо</td>
			<td class="buildCalcTd2">50</td>
			<td class="buildCalcTd3">шт.</td>
			<td class="buildCalcTd4"><input name="id" type="hidden" value="1" /> 
<input id="amount1" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('1', '40.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
			<td class="buildCalcTd5" id="sum1">0</td>
                 </tr>
	</tbody>
</table>
</div>

<div class="buildCalcGroup">
<div class="star">
<div class="starContant"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Устройство<b>&nbsp;↓</b><i>&nbsp;↑</i></a></div>
</div>

<table>
	<thead>
		<tr>
			<td class="buildCalcTd1">Вид работы</td>
			<td class="buildCalcTd2">Цена, грн.</td>
			<td class="buildCalcTd3">Ед. изм.</td>
			<td class="buildCalcTd4">Кол-во</td>
			<td class="buildCalcTd5">Сумма, грн.</td>
		</tr>
</thead>
	<tbody>
		<tr>
			<td class="buildCalcTd1">Устройство чего либо</td>
			<td class="buildCalcTd2">100</td>
			<td class="buildCalcTd3">шт.</td>
			<td class="buildCalcTd4"><input name="id" type="hidden" value="1" />
 <input id="amount1" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('1', '40.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
			<td class="buildCalcTd5" id="sum2">0</td>
	</tbody>
</table>
</div>

<div class="buildCalcGroup">
<div class="star">
<div class="starContant"><a class="buildCalcGroupTitle" href="#" onclick="this.parentNode.parentNode.parentNode.className = this.parentNode.parentNode.parentNode.className == 'buildCalcGroup' ? 'buildCalcGroup buildCalcGroupShow' : 'buildCalcGroup'; return false;">Установка чего-либо<b>&nbsp;↓</b><i>&nbsp;↑</i></a></div>
</div>

<table>
	<thead>
		<tr>
			<td class="buildCalcTd1">Вид работы</td>
			<td class="buildCalcTd2">Цена, грн.</td>
			<td class="buildCalcTd3">Ед. изм.</td>
			<td class="buildCalcTd4">Кол-во</td>
			<td class="buildCalcTd5">Сумма, грн.</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td class="buildCalcTd1">установка чего-либо</td>
			<td class="buildCalcTd2">150</td>
			<td class="buildCalcTd3">шт.</td>
			<td class="buildCalcTd4"><input name="id" type="hidden" value="44" />
<input id="amount44" name="amount" onblur="this.value != '' || (this.value = 0);" onchange="!window.BuildCalc || BuildCalc.push('44', '180.00', this.value);" onfocus="this.value != 0 || (this.value = '');" type="text" value="0" /></td>
			<td class="buildCalcTd5" id="sum3">0</td>
	</tbody>
</table>
</div>

<div>&nbsp;</div>

<div id="buildCalcSum">ИТОГО: <span> … </span>грн.</div>
<button onmouseup="document.getElementById('output-method').value = 'build-calc'; this.parentNode.onsubmit = undefined;" type="submit">Распечатать смету</button>&nbsp;
<button onmouseup="document.getElementById('output-method').value = 'invoice'; this.parentNode.onsubmit = undefined;" type="submit">Распечатать счет</button></form>
</div>


При нажатии кнопки "печать" должно открыться новое окно и появится в очереди заданий печати на принтер. Что делаю не так и что я пропустил? Подскажите пожалуйста.

Посмотреть "работающий вариант" можно тут.
Заранее благодарен.
  • Вопрос задан
  • 2680 просмотров
Пригласить эксперта
Ответы на вопрос 2
gen1s
@gen1s
Может, вы что-то поправили, но у меня всё печатает. Браузер - Google Chrome Версия 32.0.1700.76 m. Забил какие-то значения (а можно и не забивать), нажал на печать (пробовал обе кнопки). После этого открывается новое окошко с печатной формой и стандартное окошко Chrome с выбором принтера и настройкой печати.
Ответ написан
Комментировать
@gralvi Автор вопроса
Это не мой сайт, это такой же, но рабочий!
Сам код этого калькулятора нашел в интернете, поколдовал над ним и - уже более 2 суток бьюсь над этим!
Мой - тут

Обидно, что причину не могу понять вообще!!!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы