|
КАЛЬКУЛЯТОР
Калькулятор для відображення на сторінці вітрини інформації про суму замовлення зроблений на Javascript. Його текст приводиться нижче. Але, оскільки книга присвячена РНР, а не Javascript, до його команд дани лише мінімально необхідні коментарі. Просто помістите код сценарію в тексті web-страницы, набравши його з клавіатури або відсканувавши сторінки книги.
У розділ <head> сторінки з вітриною слід помістити сценарій:
<SCRIPT Language="javascript">
function calc()
{
У наступній строчці виробляється завдання масиву код товарів, що зустрічаються на web-странице і підлягають обліку. У ній мають бути перераховані коди товарів, що все зустрічаються на сторінці. Порядок перерахування код товарів не важливий і не залежить від їх порядку дотримання елементів <select, що містять їх...> на самій сторінці.
tov=new Array("Tov1", "Tov2", "Tov3", "T0v4");
У іншій такій же строчці перераховуються ціни на ці товари точно в тому порядку, в якому перераховувалися коди товарів - на одних і тих же порядкових місцях повинні стояти код і ціна, що належать одному і тому ж товару.
prc=new Array (100, 200, З00, 400);
Сценарій продовжується...
var kolvo=0;
var stoim=0;
for (n=0; n<tov.length; n++)
{
if (document.mainform(tov[n])!=null)
{
kolvo=kolvo+l*document.mainform(tov[n]).value;
stoim=prc[n]*document.mainform(tov[n]).value+stoim;
mess.innerНТМL="Количество замовлених товарів -"+kolvo+"<br>"+"CTOИMOCTb замовлених товарів -"+stoim;
document.mainform("stoim").value=stoim; document.mainform("kolvo").value=kolvo;
} </script>
Коротко можна сказати, що цей сценарій при своєму запуску переглядає значення всіх елементів форм на web-странице, що мають перераховані в масиві tov імена (а, як ви пам'ятаєте, в цьому масиві перераховані коди товарів: тобто елементи з цими іменами - це відповідні цим товарам випадні списки <select...>), і обчислює суму цих значень (загальне число замовлених товарів) і суму творів цих значень на відповідне кожному коду число з масиву ргс - списку цін (тобто рахує загальну суму покупки). Набутих значень поміщаються в елементи web-страницы з ім'ям mess (текстове повідомлення), stoim (вартість замовлення), kolvo (кількість замовлених одиниць товару) (мал. 5.7).

Ріс.5.7. Калькулятор вартості У кожен тег <select...>, присутній на сторінці і призначений для замовлення товару, додайте команду, приписуючу браузеру виконувати сценарій calc при кожній зміні значення елементу, що відображується цим тегом:
<select name=tov1l onchange=calc ()>
<option value=0>0
...
</select>
У тому місці сторінки, де ви бажаєте відображувати відвідувачеві зведення про замовлення, помістите строчку з елементом <р> або <div>, що має ідентифікатор mess, - той же, що згадувався в сценарії (тут треба використовувати саме параметр id, а не nаmе):
<р align=center id=mess> Інформація про замовлення з'явиться здесь</р>
Де-небудь у формі також поставте два приховані поля: <input type=hidden name=stoim value=0>
<input type=hidden name=kolvo value=0>
За допомогою цих полів в сценарій-обробник будуть переданий значення вартості замовлення і кількості замовленого товару. В результаті власник сайту отримає в листі ще і ці відомості.
Щоб останнє сталося, команду, складову текст листа в сценарії на сторінці-обробнику форми, зміните так, щоб вона включала в цей текст і значення змінних з прихованих полів:
$zak="C адреси $email від замовника з контактними даними $contact прийшла заявка на придбання товару: \n$zак\пКоличество замовлених товарів -$kolvo\n О6щая вартість замовлення - $stoim"; |