Показать сообщение отдельно
  #1 (permalink)  
Старый 28.08.2012, 17:39
Новичок на форуме
Отправить личное сообщение для Katik Посмотреть профиль Найти все сообщения от Katik
 
Регистрация: 29.02.2012
Сообщений: 4

Калькулятор стоимости доставки
Добрый день.
Помогите, пожалуйста, сдвинуться с места. Нужно сделать калькулятор стоимости доставки. Данные по городам и регионам, а также тарифы в зависимости от веса храняться в базе данных. Я сделала форму с выпадающим списком места назначения и полем для ввода веса.
Тарифы занесла в двумерный массив, где индексы - это зона и весовой диапазон.
При выборе пункта назначения определяю зону. При вводе веса определяю весовой диапазон. И тут ступор. Надо как-то обратиться к конкретному элементу массива с полученными посредством javascript индексами зоны и веса. Либо передать массив в js.

Рабочий код
Код:
<script type="text/javascript">

function Ves(objForm)
{
var massa = objForm.weight.value;
var diapazon;
if ((massa > 0) && (massa <2.99999)){diapazon = 'm0';}
else if ((massa > 2.99999) && (massa < 5.99999)) {diapazon = 'm3';}
else if ((massa > 5.99999) && (massa < 10.99999)) {diapazon = 'm6';}
else if ((massa > 10.99999) && (massa < 20.99999)) {diapazon = 'm11';}
else if ((massa > 20.99999) && (massa < 30.99999)) {diapazon = 'm21';}
else if (massa > 30.99999) {diapazon = 'm31';}

diap.innerHTML = diapazon;
}

function calc() {

var zona = document.getElementById("Locations");
var place=zona.options[zona.selectedIndex].value;

zone.innerHTML = place;
		}
</script>

</head>
<body>


<? $col=mysql_query("SELECT * FROM calc_zone");
$num_fields = mysql_num_fields($col);
while ($mas=mysql_fetch_array($col))
{
	for ($j=1; $j<$num_fields; $j++)
	{   $field_name = mysql_field_name($col,$j);
		$massa[$mas['id']][$field_name]=$mas[$field_name];
	}
}

?>

<form onsubmit="return false" id="PostcalcMainForm">
<table>
<tr><td>Куда: </td>
<td>
<select id="Locations" name="kuda" onchange="calc()" style="width:400">
<optgroup label="Города">
<? 

$result=mysql_query("SELECT * FROM calc_city");
while ($row=mysql_fetch_array($result)){
	echo "<option value=\"".$row['zone']."\">".$row['name']."</option>\n";}
?>
</optgroup>
<optgroup label="Регионы">
<? 
$res=mysql_query("SELECT * FROM calc_region");
while ($rows=mysql_fetch_array($res)){
		echo "<option value=\"".$rows['zone']."\">".$rows['name']."</option>\n";}
?>
</optgroup>
</select>	</td>
</tr>

<tr><td>Вес, кг: </td>
<td><input id="weight" type="text" size="5" value="1" onkeyup="Ves(this.form);"></td></tr>
</table>		
</form>
<div>Стоимость: <span id="result">0</span> руб.</div>	
<div>Зона: <span id="zone">0</span></div>
<div>Диапазон: <span id="diap">0</span></div>"
Ответить с цитированием