Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запутался, все перепробовал, нужна ваша помощь, не могу разобраться со скриптом <select> 
:(
    Опции темы
djkarp
Дата 27.4.2006, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Значит ситуация такая
Имеется скрипт калькулятора, который подчитывает стоимость оборудования и так далее. Пример здесь http://www.paintworld.ru/order_foresta.htm
для тех у кого нет инетa
имеется кнопка РАСЧИТАТЬ при нажатии на нее подсчитывается стоимость
я решил для удобства сделать меню тэгом <select> вот как выглядит:

Код
<select name="beer" id=baza>
 <option selected value="viezd">Выезд</option>
   <option value="grigorchikovo">Григорчиково</option>
     <option value="foresta">Фореста</option>
       <option value="troparevo">Тропарево</option>
</select> 
Вот скрипт калькулятора:

<script language=javascript>
function GetInfo()
{
f1 = document.forms['calc'];
f2 = document.forms['order'];

if(window.confirm('Вы уверены, что хотите скопировать информацию из калькулятора\nв форму заказа?'))
{
 f2.date.value = f1.date.value;
 f2.ppl.value = f1.ppl.value;
 f2.st.value = f1.st.value;
 f2.box.value = f1.box.value;
 f2.long.value = f1.long.value;
 f2.armor.value = f1.armor.value;
 f2.safe.value = f1.safe.value;
 f2.sport.value = f1.sport.value;
}
}

function CheckForm()
{
f = document.forms['order'];

var c_errors = 0;
var t_errors = new(Array);

if(f.item('date').value.length < 1)
{
 t_errors[c_errors] = 'Не введена дата заезда';
 c_errors++;
}
if(f.item('time').value.length < 1)
{
 t_errors[c_errors] = 'Не введено время заезда';
 c_errors++;
}
if(f.item('phone').value.length < 1)
{
 t_errors[c_errors] = 'Не введен контактный телефон';
 c_errors++;
}
if(f.item('fio').value.length < 1)
{
 t_errors[c_errors] = 'Не введены данные о контактном лице';
 c_errors++;
}
if(f.item('ppl').value.length < 1)
{
 t_errors[c_errors] = 'Не введено количество игроков';
 c_errors++;
}
if(f.item('box').value.length < 1)
{
 t_errors[c_errors] = 'Не введено количество коробок шаров';
 c_errors++;
}

// Show error message
if(c_errors > 0)
{
 var er_text = '';
 for(i = 0; i < c_errors; i++)
 {
  er_text = er_text + (i+1) + ". " + t_errors[i] + "\n";
 }
 window.alert("Ошибка ввода (" + c_errors + "):\n" + er_text);
 return false;
}
else
{
 f.item('order_now').disabled = true;
 return true;
}
return false;
}

function DoIt()
{
// PRICES
// n - normal; s - students; w - workday; h - holiday; b - below 31; a - above 31;
var hire_nwb = 18; var hire_nwa = 16; var hire_nhb = 20; var hire_nha = 18;
var hire_sw = 7; var hire_sh = 8;

var bx = 100; var bx6 = 75; var bx10 = 70;

var lng = 3; var arm = 1; var saf = 2; var sm = 10;

// DO NOT EDIT!
f = document.forms['calc'];
r = document.getElementById('result');
r.value = '';

date = f.date.value;

date_mod = date.split('-');
var dd = new Date(date_mod[2], date_mod[1]-1, date_mod[0]);
weekday = dd.getDay();

ppl = f.ppl.value;
ppl_sh = f.st.value;
box = f.box.value;
long = f.long.value;
armor = f.armor.value;
safe = f.safe.value;
sport_marker = f.sport.value;

if(weekday == 0 || weekday == 6 || weekday == 5)
{
 hire_normal = (ppl < 31 ? hire_nhb : hire_nha);
 hire_stud = hire_sh;
}
else
{
 hire_normal = (ppl < 31 ? hire_nwb : hire_nwa);
 hire_stud = hire_sw;

}

if(box < 6)
 box_f = bx;
else if(box < 10)
 box_f = bx6;
else
 box_f = bx10;

// Расчет
var sum = 0;

r.value = r.value + '==== ЗАЕЗД ====\n';
r.value = r.value + 'Дата: ' + date + '\n';
if(weekday == 0 || weekday == 6 || weekday == 5)
 r.value = r.value + 'Прокат считается по ценам выходного дня\n';
else
 r.value = r.value + 'Прокат считается по ценам рабочего дня\n';
 
r.value = r.value + '==== ПРОКАТ ====\n';
r.value = r.value + '-- Взрослых: ' + (ppl - ppl_sh)  + ' [ $' + (tmp = (ppl - ppl_sh) * hire_normal) + ' ]\n';
sum = sum + tmp;
r.value = r.value + '-- Студентов/детей: ' + ppl_sh + ' [ $' + (tmp = ppl_sh * hire_stud) + ' ]\n';
sum = sum + tmp;

r.value = r.value + '==== ШАРЫ ====\n';
r.value = r.value + '-- Коробок: ' + (box) + ' (' + (box * 2000) + ' шаров, по ' + Math.round(box * 2000 / ppl) + ' шаров на человека)' + ' [ $' + (tmp = (box * box_f)) + ' ]\n';
if(box > 5)
 r.value = r.value + 'Шары считаются по специальным ценам (более 5 коробок)\n';
sum = sum + tmp;

r.value = r.value + '==== ДРУГОЕ ====\n';
r.value = r.value + '-- Длинных стволов: ' + long + ' [ $' + (tmp = long * lng) + ' ]\n';
sum = sum + tmp;
r.value = r.value + '-- Жилеты: ' + armor + ' [ $' + (tmp = armor * arm) + ' ]\n';
sum = sum + tmp;
r.value = r.value + '-- Наколенники и налокотники: ' + safe + ' [ $' + (tmp = safe * saf) + ' ]\n';
sum = sum + tmp;
r.value = r.value + '-- Спортивные маркеры: ' + sport_marker + ' [ $' + (tmp = sport_marker * sm) + ' ]\n';
sum = sum + tmp;

r.value = r.value + '\n==== ИТОГО ====\n';
r.value = r.value + 'Всего: $' + sum;
}
</SCRIPT> 
  

В общем, хочется чтобы при выборе в меню где тег <select><option> и при нажатии после на кнопку рассчитать, расчет ввелся по выбранной базе из меню. Попробовал прочитав с другого форума сделать в тэге <option value="http://www.paintworld.ru/order_troparevo.htm"> получается что считает но перекидывает на другую страницу.
Кстати Код кнопки РАСЧИТАТЬ

Код
<input id=doit onClick="top.location.href=this.form.beer.options[this.form.beer.selectedIndex].value;javascript: DoIt()" type=button value=Рассчитать name=doit> 
  

Спасибо всем огромное   

Это сообщение отредактировал(а) 12345c - 28.4.2006, 16:08
PM MAIL   Вверх
chief39
Дата 27.4.2006, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


карманная тигра
***


Профиль
Группа: Участник Клуба
Сообщений: 1631
Регистрация: 20.5.2005
Где: Киев

Репутация: нет
Всего: 77



Здарова и тебе smile

Вообще джаваскрипт - это сюда smile 

Этот раздел сугубо по джаве.

Но если чего по джаве понадобится - заходи ;) 


--------------------
Люди - это свечи. Они либо горят, либо их - в жопу!(с)

PM MAIL   Вверх
djkarp
Дата 28.4.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



То есть?!
мне бы помощь как разобраться, писать отдельный скрипт или чего делать то?! 
PM MAIL   Вверх
batigoal
Дата 28.4.2006, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 1
Всего: 151




M
Lamer George
Перемещено из Java
 


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
djkarp
Дата 6.5.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 27.4.2006

Репутация: нет
Всего: нет



Если в кратце, то нужно чтобы рассчет делался по выбранной позиции из <select>, а вот как это сделать хз((((кто нить может помоч 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0718 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.