|
|
|
|
|
для: sim5
(07.12.2007 в 10:15)
| | Спасибо вам большое!!! Если бы не вы не знаю, чтобы я делал. Заодно и чуть-чуть java узнал . | |
|
|
|
|
|
|
|
для: JIyKaBbIu
(07.12.2007 в 10:08)
| | Перепишите выражение для события ONKEYPRESS следующим образом:
if(event.keyCode < 48 && event.keyCode != 46 || event.keyCode > 57) return false;
|
| |
|
|
|
|
|
|
|
для: sim5
(07.12.2007 в 09:42)
| | все замечательно работает, огромное вам спасибо, единственное хотел узнать, у меня будут вводиться числа в формате 100.47 (с копейками). Как из этой проверки event.keyCode < 48 || event.keyCode > 57 исключить keyCode "." и ",". Спасибо. | |
|
|
|
|
|
|
|
для: JIyKaBbIu
(07.12.2007 в 08:30)
| |
<SCRIPT>
function summaru(f) {
var t = parseFloat(f.tarif.value);
var s = parseFloat(f.summa_ohrana.value);
if (t > 0 && s > 0) {
var n = (t + s)*0.18;
f.itogo_s_ohr.value = t + s;
f.nds_na_itogo.value = n;
f.itogo_s_nds.value = n + t + s;
} else {
f.itogo_s_ohr.value = '';
f.nds_na_itogo.value = '';
f.itogo_s_nds.value = '';
}
}
</SCRIPT>
<FORM NAME="sel" ACTION="" METHOD="post">
Тариф:
<input ONCHANGE="summaru(this.form)" MAXLENGTH="6" type="text" name="tarif" ONKEYPRESS="if(event.keyCode < 48 || event.keyCode > 57) return false;"
ONKEYUP="summaru(this.form)"><BR>
Охрана:
<input ONCHANGE="summaru(this.form)" MAXLENGTH="6" type="text" name="summa_ohrana" ONKEYPRESS="if(event.keyCode < 48 || event.keyCode > 57) return false;"
ONKEYUP="summaru(this.form)"><BR>
Тариф + охрана:
<input type="text" name="itogo_s_ohr" READONLY><BR>
Ндс на (тариф + охрану):
<input type="text" name="nds_na_itogo" READONLY><BR>
Ндс + тариф + охрана:
<input type="text" name="itogo_s_nds" READONLY>
</FORM>
|
Я не знаю какие цифры будут вводится в поля, имея ввиду, например, 100 или 100.47 (т.е. рубли и копейки). Первые два поля имеют проверку - если вводятся не числа, то ввод в эти поля запрещен, другими словами нельзя будет ввести в них 100.47. Так же неизвесно, производить округление НДС или нет, сделано без. Поля tarif и summa_ohrana надо ограничить по длине вводимых значений, в примере я указал обеим 6. Остальные три поля должны иметь атрибут READONLY. | |
|
|
|
|
|
|
|
для: Trianon
(07.12.2007 в 09:09)
| | начальник сказал, что ему надо видеть данные которые автоматически высчитываются, на основе введенных данных, а раньше ему это не надо было. | |
|
|
|
|
|
|
|
для: JIyKaBbIu
(07.12.2007 в 08:53)
| | когда - потом? | |
|
|
|
|
|
|
|
для: sim5
(07.12.2007 в 08:40)
| | То что все это должно быть на яве, мне понятно и то что php выполняется на сервере я тоже знаю, просто изначально надо было, чтобы в форме были только поля для ввода данных, а те данные которые автоматически вычислялись, не выводились в форме. А потом потребовалось как раз таки то, а чем выше написал. | |
|
|
|
|
|
|
|
для: JIyKaBbIu
(07.12.2007 в 08:30)
| | Ну юмористы :)) <? $tarifohr=$_POST['tarif']+$_POST['summa_ohrana']; ?> - это кончено будет исполнено на сервере после приема соответсвующих переменных, а потом вставлено как <?=$tarifohr?>. Выбросить все подобные записи из формы, все это надо реализовать на JS. Сейчас придумаю что либо. | |
|
|
|
|
|
|
|
для: JIyKaBbIu
(07.12.2007 в 08:30)
| | php работает на сервере.
Вам нужны вычисления до отправки - то есть на клиенте. Вам нужен JavaScript. | |
|
|
|
|
|
|
|
для: sim5
(07.12.2007 в 07:38)
| | А вот еще вопрос по этой теме: у меня есть несколько текстовых полей, в первые 2 из них я ввожу числовые данные, мне надо, чтобы сразу после ввода, в оставшихся полях вычислялись значения по определенным формулам. Ниже код в котором я попытался сделать сам. Но в итоге получается, что значения, которые должны вычисляться по формулам, вычисляются только после отправки данных формы на сервер.
<fieldset>
<legend style="font-weight: bold">Квитанция о приеме груза</legend>
<table>
<tr><td>Серия квитанции:</td>
<td><input type="text" name="seriya" value="" ></td></tr>
<tr><td>№ квитанции:</td>
<td><input type="text" name="nomer_kvit" value="" ></td></tr>
<tr><td>Тариф:</td>
<td><input type="text" name="tarif" value="" ></td></tr>
<tr><td>Охрана:</td>
<td><input type="text" name="summa_ohrana" value="" ></td></tr>
<tr><td>Тариф + охрана:</td>
<? $tarifohr=$_POST['tarif']+$_POST['summa_ohrana']; ?>
<td><input type="text" name="itogo_s_ohr" value='<?=$tarifohr?>'></td></tr>
<tr><td>Ндс на (тариф + охрану):</td>
<? $tarifohrnds=$tarifohr*0.18; ?>
<td><input type="text" name="nds_na_itogo" value='<?=$tarifohrnds?>'></td></tr>
<tr><td>Ндс + тариф + охрана:</td>
<? $tarifohrsnds=$tarifohr+$tarifohrnds; ?>
<td><input type="text" name="itogo_s_nds" value='<?=$tarifohrsnds?>'></td></tr>
<tr><td>Срок доставки истекает:</td>
<td><input type="text" name="srok_dost_istek" value="0000-00-00"></td></tr></table></fieldset>
<?
$sql="INSERT INTO `kvitpriem` (`seriya` , `nomer_kvit` , `tarif` , `summa_ohrana` , `itogo_s_ohr` , `nds_na_itogo` , `itogo_s_nds` , `srok_dost_istek`)
VALUES ('".$_POST['seriya']."', '".$_POST['nomer_kvit']."', '".$_POST['tarif']."', '".$_POST['summa_ohrana']."', '".$_POST['itogo_s_ohr']."', '".$_POST['nds_na_itogo']."', '".$_POST['itogo_s_nds']."', '".$_POST['srok_dost_istek']."')";
mysql_query($sql);
?>
|
Не подскажите как можно это реализовать? | |
|
|
|
|