Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.06.2013, 03:10
Новичок на форуме
Отправить личное сообщение для judin Посмотреть профиль Найти все сообщения от judin
 
Регистрация: 23.06.2013
Сообщений: 3

Обьединение двух функций
Доброго времени суток.
Столкнулся с проблемой, что при подсчете количества введенных слов функция отказывается выполнять умножение с ценой из другой функции...

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

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("type_host");  
 var result = document.getElementById("seo"); 
 var result = document.getElementById("comment"); 
 var result = document.getElementById("gallery"); 
 var result = document.getElementById("eshop");  
 var result = document.getElementById("result");

 var price_host = 0;
 var price_seo = 0;
 var price_comment = 0;
 var price_gallery = 0;
 var price_eshop = 0;
 var price = 0; 
 price_host += (type_host.checked == true) ? parseInt(type_host.value) : 0;
 price_seo += (seo.checked == true) ? parseInt(seo.value) : 0;
 price_comment += (comment.checked == true) ? parseInt(comment.value) : 0;
 price_gallery += (gallery.checked == true) ? parseInt(gallery.value) : 0;
 price_eshop += (eshop.checked == true) ? parseInt(eshop.value) : 0;
 price=price_host+price_seo + price_comment + price_gallery + price_eshop;
 
 result_host.innerHTML = price_host;
 result_seo.innerHTML = price_seo;
 result_comment.innerHTML = price_comment;
 result_gallery.innerHTML = price_gallery;
 result_eshop.innerHTML = price_eshop;
 result.innerHTML = price;
 }


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

var textarea = document.getElementsByName("comments")[0];
	    var counter = document.getElementById("counter");
	    textarea.onkeyup = function(s) {
	        counter.innerHTML = this.value.split(/ +(?:\S)/).length;
	    }


Сам код:

<td width="20px"><input type="checkbox" onchange="calc()" value="350" id="type_host" /></td>
 <td width="60px"></td>
<td width="100px"><span id="result_host">0</span> руб.</td>

<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="seo" /></td>
 <td width="60px"></td>
<td width="100px"><span id="result_seo">0</span> руб.</td>
 </tr>
 
 <tr>
<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="comment" /></td>
 <td width="60px"></td>
<td width="100px"><span id="result_comment">0</span> руб.</td>

<td width="20px"><input type="checkbox" onchange="calc()" value="300" id="gallery" /></td>
 <td width="60px"></td>
<td width="100px"><span id="result_gallery">0</span> руб.</td>
 </tr>

 <tr>
<td width="20px"><input type="checkbox" onchange="calc()" value="200" id="eshop" /></td>
 <td width="60px"></td>
<td width="100px"><span id="result_eshop">0</span> руб.</td>
<td width="20px"></td>
 <td width="60px"></td>
<td width="100px"></td>
 </tr>
   <tr>
 <td colspan="6" align="center"><h3>Введите текст:</h3></td>
 </tr>
 
 <tr>
 <td colspan="5"><textarea name="comments" onchange="calc()" value="0"  cols="38" rows="7"></textarea></td>
	<td>Введено слов: <span id="counter">0</span></td></tr>
	<tr><td colspan="6"><center><input type="submit" value="Отправить">&nbsp;&nbsp;<input type="reset" value="Очистить"></center></td>
</tr>


 <tr>
 <td width="80" colspan="2" class="td_result">ИТОГО:</td>
 <td width="120" colspan="2"></td>
 <td width="160" class="td_result" colspan="2"><span id="result">0</span> руб.</td>
 </tr>


Что необходимо прописать, чтобы перемножить результат result с counter???
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2013, 20:42
Новичок на форуме
Отправить личное сообщение для judin Посмотреть профиль Найти все сообщения от judin
 
Регистрация: 23.06.2013
Сообщений: 3

за помощь кину 50 на счет...
Ответить с цитированием
  #3 (permalink)  
Старый 23.06.2013, 21:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

judin, вместо всего прежнего кода это
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 = 0;
 var price_seo = 0;
 var price_comment = 0;
 var price_gallery = 0;
 var price_eshop = 0;
 var price = 0;
 price_host += (type_host.checked == true) ? parseInt(type_host.value) : 0;
 price_seo += (seo.checked == true) ? parseInt(seo.value) : 0;
 price_comment += (comment.checked == true) ? parseInt(comment.value) : 0;
 price_gallery += (gallery.checked == true) ? parseInt(gallery.value) : 0;
 price_eshop += (eshop.checked == true) ? parseInt(eshop.value) : 0;
 price=price_host+price_seo + price_comment + price_gallery + price_eshop;

 result_host.innerHTML = price_host;
 result_seo.innerHTML = price_seo;
 result_comment.innerHTML = price_comment;
 result_gallery.innerHTML = price_gallery;
 result_eshop.innerHTML = price_eshop;
 result.innerHTML = price;
 var textarea = document.getElementsByName("comments")[0];
 var counter = document.getElementById("counter");
 counter.innerHTML = textarea.value.split(/ +(?:\S)/).length;
 result.innerHTML *= counter.innerHTML
 }

	   var textarea = document.getElementsByName("comments")[0];
	   textarea.onkeyup = calc

Последний раз редактировалось рони, 24.06.2013 в 16:42.
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2013, 16:38
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Цитата:
var result = document.getElementById("type_host");
var result = document.getElementById("seo");
var result = document.getElementById("comment");
var result = document.getElementById("gallery");
var result = document.getElementById("eshop");
var result = document.getElementById("result");
Что это за бред?
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2013, 15:26
Новичок на форуме
Отправить личное сообщение для judin Посмотреть профиль Найти все сообщения от judin
 
Регистрация: 23.06.2013
Сообщений: 3

уже удалил....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пересечение и разность двух массивов harold Общие вопросы Javascript 9 18.12.2013 21:41
Непонятный алгоритм отработки функций Jopses jQuery 5 16.02.2013 12:55
как сделдать меню из двух калонок как в bestchange.ru Андрей Лебедев Элементы интерфейса 2 21.01.2013 10:32
MySQl дата между двух дат mycoding Серверные языки и технологии 8 14.02.2011 15:23
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20