Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Обьединение двух функций / 10 сообщений из 10, страница 1 из 1
23.06.2013, 18:09
    #38307478
Обьединение двух функций
Доброго времени суток.
Столкнулся с проблемой, что при подсчете количества введенных слов функция отказывается выполнять умножение с ценой из другой функции...

Первая функция:

Код: 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.
01	function calc() {
02	    
03	 var type_host = document.getElementById("type_host");  
04	 var seo = document.getElementById("seo"); 
05	 var comment = document.getElementById("comment");
06	 var gallery = document.getElementById("gallery");
07	 var eshop = document.getElementById("eshop");
08	   
09	 var result = document.getElementById("type_host"); 
10	 var result = document.getElementById("seo");
11	 var result = document.getElementById("comment");
12	 var result = document.getElementById("gallery");
13	 var result = document.getElementById("eshop"); 
14	 var result = document.getElementById("result");
15	 
16	 var price_host = 0;
17	 var price_seo = 0;
18	 var price_comment = 0;
19	 var price_gallery = 0;
20	 var price_eshop = 0;
21	 var price = 0;
22	 price_host += (type_host.checked == true) ? parseInt(type_host.value) : 0;
23	 price_seo += (seo.checked == true) ? parseInt(seo.value) : 0;
24	 price_comment += (comment.checked == true) ? parseInt(comment.value) : 0;
25	 price_gallery += (gallery.checked == true) ? parseInt(gallery.value) : 0;
26	 price_eshop += (eshop.checked == true) ? parseInt(eshop.value) : 0;
27	 price=price_host+price_seo + price_comment + price_gallery + price_eshop;
28	  
29	 result_host.innerHTML = price_host;
30	 result_seo.innerHTML = price_seo;
31	 result_comment.innerHTML = price_comment;
32	 result_gallery.innerHTML = price_gallery;
33	 result_eshop.innerHTML = price_eshop;
34	 result.innerHTML = price;
35	 }




Вторая функция:

Код: javascript
1.
2.
3.
4.
5.
1	var textarea = document.getElementsByName("comments")[0];
2	        var counter = document.getElementById("counter");
3	        textarea.onkeyup = function(s) {
4	            counter.innerHTML = this.value.split(/ +(?:\S)/).length;
5	        }




Сам код:

Код: html
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.
01	<td width="20px"><input type="checkbox" onchange="calc()" value="350" id="type_host" /></td>
02	 <td width="60px"></td>
03	<td width="100px"><span id="result_host">0</span> руб.</td>
04	 
05	<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="seo" /></td>
06	 <td width="60px"></td>
07	<td width="100px"><span id="result_seo">0</span> руб.</td>
08	 </tr>
09	  
10	 <tr>
11	<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="comment" /></td>
12	 <td width="60px"></td>
13	<td width="100px"><span id="result_comment">0</span> руб.</td>
14	 
15	<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="gallery" /></td>
16	 <td width="60px"></td>
17	<td width="100px"><span id="result_gallery">0</span> руб.</td>
18	 </tr>
19	 
20	 <tr>
21	<td width="20px"><input type="checkbox" onchange="calc()" value="200" id="eshop" /></td>
22	 <td width="60px"></td>
23	<td width="100px"><span id="result_eshop">0</span> руб.</td>
24	<td width="20px"></td>
25	 <td width="60px"></td>
26	<td width="100px"></td>
27	 </tr>
28	   <tr>
29	 <td colspan="6" align="center"><h3>Введите текст:</h3></td>
30	 </tr>
31	  
32	 <tr>
33	 <td colspan="5"><textarea name="comments" onchange="calc()" value="0"  cols="38" rows="7"></textarea></td>
34	    <td>Введено слов: <span id="counter">0</span></td></tr>
35	    <tr><td colspan="6"><center><input type="submit" value="Отправить">&nbsp;&nbsp;<input type="reset" value="Очистить"></center></td>
36	</tr>
37	 
38	 
39	 <tr>
40	 <td width="80" colspan="2" class="td_result">ИТОГО:</td>
41	 <td width="120" colspan="2"></td>
42	 <td width="160" class="td_result" colspan="2"><span id="result">0</span> руб.</td>
43	 </tr>



Что необходимо прописать, чтобы перемножить результат result с counter???
...
Рейтинг: 0 / 0
23.06.2013, 18:39
    #38307492
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьединение двух функций
Ещё надо разобраться в том, что написано )). Итак...

Юдин_Сергей
Первая функция:

Код: 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.
01	function calc() {
02	    
03	 var type_host = document.getElementById("type_host");  
04	 var seo = document.getElementById("seo"); 
05	 var comment = document.getElementById("comment");
06	 var gallery = document.getElementById("gallery");
07	 var eshop = document.getElementById("eshop");
08	   
09	 /*var result = document.getElementById("type_host"); 
10	 var result = document.getElementById("seo");                   **********************************************
11	 var result = document.getElementById("comment");               ***              НАФИГА ЭТО?!               ***
12	 var result = document.getElementById("gallery");               **********************************************
13	 var result = document.getElementById("eshop"); */
14	 var result = document.getElementById("result");
15	 
16	 /*var price_host = 0;
17	 var price_seo = 0;                                                       ***************************************************************
18	 var price_comment = 0;                                                   ***                   можно написать                        ***
19	 var price_gallery = 0;                                                   ***   var pricehost = и сразу присвоить что надо            ***
20	 var price_eshop = 0;                                                     ***************************************************************
21	 var price = 0;*/
22	 price_host += (type_host.checked == true) ? parseInt(type_host.value) : 0; //просто result_host.innerHTML = parseInt(type_host.value);
23	 price_seo += (seo.checked == true) ? parseInt(seo.value) : 0;              // точно так же далее по аналогии. Зачем промежуточные
24	 price_comment += (comment.checked == true) ? parseInt(comment.value) : 0;  // переменные?
25	 price_gallery += (gallery.checked == true) ? parseInt(gallery.value) : 0;  //
26	 price_eshop += (eshop.checked == true) ? parseInt(eshop.value) : 0;        //
27	 price=price_host+price_seo + price_comment + price_gallery + price_eshop;  //
28	  
29	 /*result_host.innerHTML = price_host;
30	 result_seo.innerHTML = price_seo;                                  **************************************************
31	 result_comment.innerHTML = price_comment;                          ***          более не требуется                ***
32	 result_gallery.innerHTML = price_gallery;                          **************************************************
33	 result_eshop.innerHTML = price_eshop;
34	 result.innerHTML = price;*/
35	 }






А теперь сократив код вдвое :). Для того, что бы повесить 2 обработчика на 1 событие, есть специальные функции (достаточно спросить у гугла, он ответит) Как альтернатива: создать функцию, которую повесить как обработчик события, а уже в ней вызывать нужные методы. Или использовать jquery (но на данном этапе не советую).
...
Рейтинг: 0 / 0
23.06.2013, 18:39
    #38307494
Паганель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьединение двух функций
Юдин_Сергей
Код: javascript
1.
2.
3.
4.
5.
6.
09	 var result = document.getElementById("type_host"); 
10	 var result = document.getElementById("seo");
11	 var result = document.getElementById("comment");
12	 var result = document.getElementById("gallery");
13	 var result = document.getElementById("eshop"); 
14	 var result = document.getElementById("result");

...
Рейтинг: 0 / 0
23.06.2013, 19:11
    #38307511
Обьединение двух функций
Програмёр,

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	function calc() {
	    
	 var type_host = document.getElementById("type_host");  
	 var seo = document.getElementById("seo"); 
	 var comment = document.getElementById("comment");
	 var gallery = document.getElementById("gallery");
	 var eshop = document.getElementById("eshop");
	   
	 var result = document.getElementById("result");
	 
	 var price_host = 350;
	 var price_seo = 300;                                                       
	 var price_comment = 300;
	 var price_gallery = 300;                                                   
	 var price_eshop = 300;                                                     
	 var price = 200;
         result_host.innerHTML = parseInt(type_host.value);
	 result_seo.innerHTML = parseInt(seo.value);
	 result_comment.innerHTML =  parseInt(comment.value);
         result_gallery.innerHTML = parseInt(gallery.value);
	 result_eshop.innerHTML =  parseInt(eshop.value);
	 result.innerHTML=price_host+price_seo + price_comment + price_gallery + price_eshop;
}




Так?
...
Рейтинг: 0 / 0
23.06.2013, 19:13
    #38307512
Обьединение двух функций
Програмёр,

дело в том, что присвоение цены только после выставления флажка....
...
Рейтинг: 0 / 0
23.06.2013, 19:49
    #38307522
Обьединение двух функций
Даже при уменьшении работающего скрипта- проблема так и не решена....
как мне их объединить?
Подскажите, пожалуйста....
...
Рейтинг: 0 / 0
23.06.2013, 20:20
    #38307537
Обьединение двух функций
за помощь кину 50 на счет....
...
Рейтинг: 0 / 0
23.06.2013, 21:53
    #38307596
Обьединение двух функций
нашел решение....
тема закрыта.
...
Рейтинг: 0 / 0
24.06.2013, 00:09
    #38307675
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обьединение двух функций
Юдин_Сергейза помощь кину 50 на счет....
А если я ответил (помог) ещё до этого сообщения, мне 50 у.е. полагается?
P.S. разумеется, это шутка. Те, кто хочет заработать сидят в ветке работа ;)
Кстати, а Вы моё сообщение первое дочитали?
...
Рейтинг: 0 / 0
24.06.2013, 00:37
    #38307691
Обьединение двух функций
Програмёр,

конечно дочитал.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Обьединение двух функций / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]