Калькулятор на html сайте.

12
DiAksID
На сайте с 02.08.2008
Offline
236
#11
Klopopryg:
А как это сделать?

типо так:


<form>
<input onblur="if(this.value=='') this.value='0';" onfocus="if(this.value=='0') this.value='';" onchange="res.value='?'" value="0" name="a" />
<input onblur="if(this.value=='') this.value='0';" onfocus="if(this.value=='0') this.value='';" onchange="res.value='?'" value="0" name="b" />
<input onblur="if(this.value=='') this.value='?';" onfocus="if(this.value=='?') this.value='';" value="?" name="res" />
<input type="button" onclick="res.value=a.value*b.value;" value="СЧИТАТЬ" />
</form>

если функции подсчёта простые, можно просто в тело формы их вписать...

Dinozavr:
DiAksID, а зачем <form>?

по привычке 😂 если делать функции то, есссесссно, пофиг чему прописывать прерывания на onClick, onBlur и т.д. и через InnerHTML как/над чем угодно извращаться.

но в форме можно сделать проще и экономнее по синтакису для этой простенькой задачки - см. здесь выше

show must go on !!!...
Klopopryg
На сайте с 29.12.2004
Offline
344
#12

Ну вообщем у меня все получилось, единственное, поле для ввода значений очень длинное, как его уменьшить?

http://www.forpool.ru/calc.html

[ATTACH]90670[/ATTACH]

jpg 2134124124124124124.jpg
Лучше выстрелить, перезарядить и еще раз выстрелить, чем светить фонариком и спрашивать - "кто тут?"
DiAksID
На сайте с 02.08.2008
Offline
236
#13
Klopopryg:
Ну вообщем у меня все получилось, единственное, поле для ввода значений очень длинное, как его уменьшить?

либо size прописать каждому input-у либо width им задать css стилем, что кошернее

кстати, полю с результатом можно disabled="disabled" задать, что бы не фокусился без толку. только цвет сменить потом с серого на более "рентабельный"...

Klopopryg
На сайте с 29.12.2004
Offline
344
#14

Вот, сделал http://www.forpool.ru/calc.html...

только вопрос как можно сделать так, чтобы объем задавался только один раз, а расход сразу считался по всем хим. реагентам?

DiAksID
На сайте с 02.08.2008
Offline
236
#15
Klopopryg:
Вот, сделал http://www.forpool.ru/calc.html...

только вопрос как можно сделать так, чтобы объем задавался только один раз, а расход сразу считался по всем хим. реагентам?

не сложно ;) завести внешнюю переменную до всех форм, значение присваивать ей в единственном поле "объём" и брать её в полях "результат". для таких фишек я и предлагал через функцию расчёт вести а не прямо в поле прописывать...

Klopopryg
На сайте с 29.12.2004
Offline
344
#16
DiAksID:
не сложно ;) завести внешнюю переменную до всех форм, значение присваивать ей в единственном поле "объём" и брать её в полях "результат". для таких фишек я и предлагал через функцию расчёт вести а не прямо в поле прописывать...

А как это сделать.

Можно на примере показать:

<td>Адисан</td>

<td>чистящее средство</td>
<td>Очиститель краев и плиток, удаляет грязь, копоть и сажевые окаймления. Для уборки перекрытия и потолка, вспомогательных помещений бассейна, душа, ванн, туалетов.</td>
<td>Порошкообразный щелочный очиститель. Разводится из расчета 1 кг на 10 литров воды - чистящее средство для краев, плиток и т.д.</td>
<td><form name="calc" id="smeta"><input onblur="if(this.value=='') this.value='0.001';" onfocus="if(this.value=='0.001') this.value='';" onchange="res.value='?'" value=0.001 name="a" size=3> кг</td>
<td><input onblur="if(this.value=='') this.value='0';" onfocus="if(this.value=='0') this.value='';" onchange="res.value='?'" value=0 name="b" size=1> куб.</td>
<td><input onblur="if(this.value=='') this.value='?';" onfocus="if(this.value=='?') this.value='';" value="?" name="res" size=5 disabled="disabled"> кг</td>
<td><input name="do" type="button" value="Считать" onclick="res.value=a.value*b.value;"></form></td>
</tr>
<tr>
<td>Аквабром Альгицид</td>
<td>анти-водоросли</td>
<td>Останавливает рост водорослей в плавательных бассейнах</td>
<td>Жидкий концентрат альгицида, используется еженедельно</td>
<td><form name="calc" id="smeta"><input onblur="if(this.value=='') this.value='0.05';" onfocus="if(this.value=='0.05') this.value='';" onchange="res.value='?'" value=0.05 name="a" size=3> л</td>
<td><input onblur="if(this.value=='') this.value='0';" onfocus="if(this.value=='0') this.value='';" onchange="res.value='?'" value=0 name="b" size=1> куб.</td>
<td><input onblur="if(this.value=='') this.value='?';" onfocus="if(this.value=='?') this.value='';" value="?" name="res" size=5> л</td>
<td><input name="do" type="button" value="Считать" onclick="res.value=a.value*b.value;"></form></td>
</tr>
DiAksID
На сайте с 02.08.2008
Offline
236
#17

делайте по аналогии:


<script language="javascript">
function calc( d ){
for ( var i = 0; i < 3; i++ )
{
with ( document['calc' + i] ) {
b.value = d;
c.value = a.value * d;
}
}
}
</script>

<form>
<input onblur="if(this.value=='') this.value='0';" onfocus="if(this.value=='0') this.value='';" value=0 name="d" size=1>
<b> куб. </b>
<input name="do" type="button" value="Считать" onclick="calc(d.value)">
</form>

<br />

<form name="calc0" >
<input onblur="if(this.value=='') this.value='1';" onfocus="if(this.value=='1') this.value='';" onchange="c.value=this.value*b.value" value='1' name="a" size=3 />
<b> кг./куб. * </b>
<input onblur="this.value=v;" value="0" size=5 disabled="disabled" name="b" />
<b> куб. = </b>
<input onblur="if(this.value=='0') this.value='?';" value="0" size=5 disabled="disabled" name="c" />
<b> кг.</b>
</form>

<br />

<form name="calc1" >
<input onblur="if(this.value=='') this.value='1';" onfocus="if(this.value=='2') this.value='';" onchange="c.value=this.value*b.value" value='2' name="a" size=3 />
<b> кг./куб. * </b>
<input onblur="this.value=v;" value="0" size=5 disabled="disabled" name="b" />
<b> куб. = </b>
<input onblur="if(this.value=='0') this.value='?';" value="0" size=5 disabled="disabled" name="c" />
<b> кг.</b>
</form>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий