Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6

innerHtml и форма

12.03.2013, 16:13. Показов 2493. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
есть такая форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<html>
    <head>
        <script src="calculation.js" type="text/javascript"></script>
    </head>
    <body>
        <style>
            h3 {
                color:red;
            }
            a {
                color:red;
            }
            .leftBlock {
                float:left;
            }
            .rightBlock {
                float:right;
                width:450px;
                height:450px;
                border:1px solid black;
            }
            .rightBlock h2 {
                color:red;
                text-align:center;
            }
        </style>
        <div class="leftBlock">
            <h2>Введите параметры заказа</h2>
                <form  method="post">
                    <label>Формат</label>
                    <select name="format" id="format">
                        <option value="2">A1</option>
                        <option value="1.5">A2</option>
                        <option value="1" selected>A3</option>
                        <option value="0.5" >A4</option>
                    </select>
                    <br/>
                    <label>Тираж</label>
                    <input type="text" name="tiraz" value="1000" onkeyup="this.value = this.value.replace (/\D+/, '')" id="tiraz"/>
                    <br/>
                    <label>Тип крепления</label>
                    <select name="kreplenije" id="kreplenije">
                        <option value="5">Скоба</option>
                        <option value="7">Биндер</option>
                        <option value="12">Биндер+нитка</option>
                    </select>
                    <br/>
                    <h3>Обложка</h3>
                    <label>
                        Без обложки
                        <input type="checkbox" name="bezOblozki" id="bezOblozki" />
                    </label>
                    <br/>
                    <label>Цветность</label>
                    <select name="colors" id="colors">
                        <option value="10">1+1</option>
                        <option value="15">2+2</option>
                        <option value="20">4+1</option>
                    </select>
                    <br/>
                    <label>Тип бумаги</label>
                    <select name="paper" id="paper">
                        <option value="10">Тип бумаги1</option>
                        <option value="15">Тип бумаги2</option>
                        <option value="20">Тип бумаги3</option>
                    </select>
                    <br/>
                    <label>Дополнительная обработка</label>
                    <select name="dopObrobka" id="dopObrobka">
                        <option value="1">нет</option>
                        <option value="20">Защитный лак</option>
                    </select>
                    <br/>
                    <label>
                        <input type="checkbox" name="dveStoronu" id="dveStoronu" value="20"/>
                        Двухсторонняя
                    </label>
                    <br/>
                    <label>
                        Доп. УФ-лак выборочный
                        <input type="checkbox" name="dopLak" id="dopLak" value="25"/>
                    </label>
                    <br/>
                    <h3>Блок 1</h3>
                    <label>Цветность</label>
                    <select name="Colors2" id="Colors2">
                        <option value="10">1+1</option>
                        <option value="15">2+2</option>
                        <option value="20">4+1</option>
                        <option value="25">4+4</option>
                    </select>
                    <br/>
                    <label>Страничность издания</label>
                    <input type="text" value="16" onkeyup="this.value = this.value.replace (/\D+/, '')" id="stranichnost"/>
                    <br/>
                    <label>Тип бумаги</label>
                    <select name="paper2" id="paper2">
                        <option value="10">Тип1</option>
                        <option value="15">Тип2</option>
                        <option value="20">Тип3</option>
                        <option value="20">Тип4</option>
                    </select>
                    <br/>
                    <label>Дополнительная обработка</label>
                    <select name="dopObrobka2" id="dopObrobka2">
                        <option value="1">нет</option>
                        <option value="20">Защитный лак</option>
                    </select>
                    <br/>
                    <label>
                        <input type="checkbox" name="dveStoronu2" id="dveStoronu2" value="20"/>
                        Двухсторонняя
                    </label>
                    <br/>
                    <br/>
                    <a href="" id="addBlock">Добавить блок</a>
                    <br/>
                    <br/>
                    <label>Валюта расчета</label>
                    <select name="valyta" id="valyta">
                        <option value="1">гривна</option>
                        <option value="2">доллар</option>
                        <option value="3">рубли</option>
                        <option value="4">евро</option>
                    </select>
                    <br/>
                    <label>Примечание</label>
                    <textarea name="description" id="description"></textarea>
                    <br/>
                    <button onclick="calc()" id="buttonGood">Расчитать стоимость заказа</button>
            </form>
        </div>
        <div class="rightBlock">
            <h2>Ваш заказ</h2>
            <p style="float:left">Стоимость:   </p><div id="result"></div>
        </div>
    </body>
</html>
и такой скрипт "калькулятора" :
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function calc() {
    var format = document.getElementById("format");
    var tiraz = document.getElementById("tiraz");
    var kreplenije = document.getElementById("kreplenije");
    var bezOblozki = document.getElementById("bezOblozki");
    var colors = document.getElementById("colors");
    var paper = document.getElementById("paper");
    var dopObrobka = document.getElementById("dopObrobka");
    var dveStoronu = document.getElementById("dveStoronu");
    var dopLak = document.getElementById("dopLak");
    var Colors2 = document.getElementById("Colors2");
    var stranichnost = document.getElementById("stranichnost");
    var paper2 = document.getElementById("paper2");
    var dopObrobka2 = document.getElementById("dopObrobka2");
    var dveStoronu2 = document.getElementById("dveStoronu2");
    var valyta = document.getElementById("valyta");
    var price = 0;
    var result = document.getElementById("result");
 
    price = parseFloat(format.options[format.selectedIndex].value) * parseInt(tiraz.value);
    price += parseInt(kreplenije.options[kreplenije.selectedIndex].value);
    if (!bezOblozki.checked)
        {
            price += parseInt(colors.options[colors.selectedIndex].value);
            price += parseInt(paper.options[paper.selectedIndex].value);
            if (!parseInt(dopObrobka.options[dopObrobka.selectedIndex].value) == 1) 
            {
                price += parseInt(dopObrobka.options[dopObrobka.selectedIndex].value);
            }
            if (dveStoronu.checked)
            {
                price += parseInt(dveStoronu.value);
            }
            if (dopLak.checked)
            {
                price += parseInt(dopLak.value);
            }
            
        }
    price += parseInt(Colors2.options[Colors2.selectedIndex].value);
    price += parseInt(stranichnost.value);
    price += parseInt(paper2.options[paper2.selectedIndex].value);
    if (!parseInt(dopObrobka2.options[dopObrobka2.selectedIndex].value) == 1) 
    {
        price += parseInt(dopObrobka2.options[dopObrobka2.selectedIndex].value);
    }
    if (dveStoronu2.checked)
    {
        price += parseInt(dveStoronu2.value);
    }
    if (parseInt(valyta.options[valyta.selectedIndex].value) == 2 )
    {
        price *= 8;
    }
    else if (parseInt(valyta.options[valyta.selectedIndex].value) == 3 )
    {
        price = price / 4;
    }
    else if (parseInt(valyta.options[valyta.selectedIndex].value) == 4 )
    {
        price *= 11;
    }
    var desc = document.getElementById("description").value;
    result.innerHTML = "<p>" + price + "</p>" + "\n" + desc;
}
После подсчета всех данных их нужно вывести в блоке
HTML5
1
2
3
4
<div class="rightBlock">
            <h2>Ваш заказ</h2>
            <p style="float:left">Стоимость:   </p><div id="result"></div>
        </div>
За вывод использую :
JavaScript
1
result.innerHTML = "<p>" + price + "</p>" + "\n" + desc;
но при нажатии на кнопку форма обновляет страницу....
и результат появляется и сразу пропадает...
Как это убрать ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2013, 16:13
Ответы с готовыми решениями:

innerHTML
Может я чего не понимаю... но почему? var new_input=document.createElement('tr'); new_input.innerHTML=&quot;&lt;td...

InnerHTML
есть меню &lt;li&gt;&lt;a href=&quot;Viev.php&quot; class= &quot;tab1&quot;&gt;Меню 1&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;Viev.php&quot; class= &quot;tab2&quot;&gt;Меню 2&lt;/a&gt;&lt;/li&gt; ...

InnerHTML
Помогите исправить код пожалуйста. Не могу найти ошибку все нормально только вивод кривой мигает почему-то... &lt;HTML&gt; ...

6
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.03.2013, 16:16
Цитата Сообщение от RampageTechn Посмотреть сообщение
HTML5
29
<form  method="post">
onsubmit="return false"

Добавлено через 1 минуту
Вообще зачем нужна форма, если отправка и обработка на сервере не предполагается? Зачем дверь, которая не открывается? Зачем окно, забитое листом железа?
1
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
12.03.2013, 16:18  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Вообще зачем нужна форма, если отправка и обработка на сервере не предполагается? Зачем дверь, которая не открывается? Зачем окно, забитое листом железа?
форма нужна будет для обработки php кодом =)
Спасибо большое
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.03.2013, 16:27
Цитата Сообщение от RampageTechn Посмотреть сообщение
форма нужна будет для обработки php кодом
Ага, только отпрвку формы мы только что запретили на корню.
Что и каким образом будет отправляться на сервер? Это будет всего лишь альтернативная реализация тех же самых вычислений или это будет совершенно другое действие (например, отправка заказа на мыло владельцу)?
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
12.03.2013, 16:41  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
это будет совершенно другое действие (например, отправка заказа на мыло владельцу)?
вот
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.03.2013, 16:45
Тогда надо либо эту подосланную кнопку [Расчитать стоимость заказа] вынести за пределы формы (тогда будет отдельная кнопка [Отправить]), либо другими путями извращаться (тогда отправка будет выполняться скриптом form.submit() или AJAX).
0
0 / 0 / 0
Регистрация: 11.03.2013
Сообщений: 6
12.03.2013, 16:49  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Тогда надо либо эту подосланную кнопку [Расчитать стоимость заказа] вынести за пределы формы (тогда будет отдельная кнопка [Отправить])
этот вариант подходит =) спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2013, 16:49
Помогаю со студенческими работами здесь

InnerHTML
Всем здравтсвуйте. Когда-то давно начинал писать на Javascript. Сейчас все подзабыл. Вообщем нужна ваша помощь. Задача такая. Допустим...

InnerHTML
Господа, возможно вопрос и нубский, но сам решение пока найти не могу. В общем есть HTML код, в котором только div c ID. Я скриптом создаю...

innerHTML
Простите, другого названия не придумал. &lt;table id=&quot;element&quot; border=&quot;1&quot; width=&quot;500px&quot;&gt;&lt;/table&gt; &lt;input type=&quot;text&quot;...

Не работает innerHTML
Не выводит сообщение, то что написано в переменной i1, через document.write все пашет, заранее спасибо. &lt;html&gt; &lt;script&gt; ...

InnerHTML в цикле
Здравствуйте, существует некий массив ses, хотелось бы в тексте менять слова текста на слова из этого массива. Я знаю что следующая запись...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru