 
			
				17.02.2014, 13:47
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.02.2014 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Простой калькулятор
			 
			
		
		
		
		Подскажите, пожалуйста, как должен выглядеть и быть написан простейший калькулятор: 
Я хочу заказать  
<select name="services">
<option value=""></option>
<option value="copywriting">Копирайтинг и SEO-копирайтинг</option>
<option value="selltext">Продающий текст</option>
<option value="hometext">Текст на главную страницу сайта</option>
// и т.д.
</select>
<br>
Мне нужен текст объемом
<input type="text" name="vol" size="3" value="" placeholder="3500"> знаков (без пробелов)
<br>
 
который перемножает между собой выбранный select и объем и выводит 'result' в текстовую графу.
 
Да, "option value=" нужно оставить в текстовом виде, т.к. форма отправляется на почту, а некоторые услуги стоят одинаково.
 
В идеале, если объем больше N1, то вся сумма должна умножаться на скидку M1, а если больше N2, то умножаем на скидку M2
 
Спасибо.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.02.2014, 14:09
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 AlexFoxx, 
а сами капельку ну чуть чуть ? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.02.2014, 14:17
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.02.2014 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я чего не пойму...если я ID припишу всему селектору, то значения для расчетов будут браться из value (где мне надо чтобы был текст)?  
Остальное тащем-та просто. 
 
В общем, как мне правильно присвоить числовое (цену) значение опциям селектора? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.02.2014, 15:21
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		AlexFoxx,
    
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
   Я хочу заказать
<select name="services"  >
<option value=""></option>
<option value="copywriting">Копирайтинг и SEO-копирайтинг</option>
<option value="selltext">Продающий текст</option>
<option value="hometext">Текст на главную страницу сайта</option>
// и т.д.
</select>
<br>
Мне нужен текст объемом
<input type="text" name="vol" size="3" value="" placeholder="3500"> знаков (без пробелов)
<br>
<script>
   var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 100,
           "selltext": 200,
           "hometext": 500
       };
   ser.onchange = vol.oninput = function () {
       alert((+vol.value || 0) * (sum[ser.value] || 0))
   }
</script>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.02.2014, 17:40
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.02.2014 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Большое спасибо! 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				18.02.2014, 06:11
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.10.2010 
					
					
					
						Сообщений: 2,718
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
<option value="copywriting" data-price="100500">Копирайтинг и SEO-копирайтинг</option>
 
// canonical js
try{
  alert('Yo have to pay: '+getElementById('copywriting').dataset.price * document.getElementsByName('vol')[0].value)+'bucks';
}catch(e){
  alert('something went wrong');
}
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				18.02.2014, 06:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.10.2010 
					
					
					
						Сообщений: 2,718
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Я лишь одного не понял - у сеошников и копирайтеров не принято публиковать прайсы? 
 
Другими словами если юзер видит цену, то и скрипт ее увидит там же, или в лучшем месте откуда юзеру рендерится. 
 
А если скрипт не видит цену, то юзер что видит? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				18.02.2014, 09:45
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.02.2014 
					
					
					
						Сообщений: 10
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от kostyanet
			 
		
	 | 
 
	
		Я лишь одного не понял - у сеошников и копирайтеров не принято публиковать прайсы? 
Другими словами если юзер видит цену, то и скрипт ее увидит там же, или в лучшем месте откуда юзеру рендерится. 
А если скрипт не видит цену, то юзер что видит?
	 | 
 
	
 
 На копирайт вроде указывают всегда точную цену за т.з. или за "текст".  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				18.02.2014, 14:22
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.02.2014 
					
					
					
						Сообщений: 8
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Есть у нас и прайсы и все цены видит юзер...другое дело, что копирайтеры вроде как тексты пишут, а не коды    Тем не менее, задача оказалась решена - все же у нас простенький wordpress-сайт, а не портал с кучей услуг. Получился конечно былокод и при изменении цен надо будет делать двойную работу, но пока пусть так будет... 
Подскажите мне, плз, еще один простой момент и я буду бесконечно счастлив. 
Быдлокод:
 
<script>
   var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 350,
           "selltext": 600,
           "hometext": 550,
	   "abouttext": 500,
	   "formedia": 450,
	   "pressrel": 400,
	   "goods": 200,
	   "rewriting": 200,
	   "commercial": 500,
	   "comments": 80,
	   "context": 100,
	   "blogs": 350,
	   "mailing": 350,
	   "news": 350,
	   "present": 750,
	   "poetry": 200,
	   "prose": 250,
	   "editing": 150,
	   "correction": 100
	     };
   ser.onchange = vol.oninput = function calc () {
   var price = 0;
       price = ((+vol.value || 0) * (sum[ser.value] || 0)/1000);
result.innerHTML = price;
   }
</script>
Как правильно написать тут же на яве про скидки, типа
 
if $vol > 49999 { $price = $price * 0.9; } 
elseif $vol > 99999 { $price = $price * 0.85; } 
else ...ну обычная $price
 
как все это правильно вкрутить в тот быдлокод?  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				18.02.2014, 14:35
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		AlexFoxx,
    
var ser = document.querySelector('[name="services"]'),
       vol = document.querySelector('[name="vol"]'),
       sum = {
           "copywriting": 350,
           "selltext": 600,
           "hometext": 550,
	   "abouttext": 500,
	   "formedia": 450,
	   "pressrel": 400,
	   "goods": 200,
	   "rewriting": 200,
	   "commercial": 500,
	   "comments": 80,
	   "context": 100,
	   "blogs": 350,
	   "mailing": 350,
	   "news": 350,
	   "present": 750,
	   "poetry": 200,
	   "prose": 250,
	   "editing": 150,
	   "correction": 100
	     };
   ser.onchange = vol.oninput = function calc () {
   var price = 0, text = +vol.value || 0;
       price = (text * (sum[ser.value] || 0)/1000);
       if (text > 99999) price *= 0.85;
       else if (text > 49999) price *= 0.9;
result.innerHTML = price;
   }
 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось рони, 18.02.2014 в 15:33.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |