> icode=document.forms[0].intcode;
> lamt=document.forms[0].lnamt.value;
> nom =document.forms[0].nomon.value;
Переменные должны быть объявлены с var , чтобы они оставались локальными (при условии, что вышеизложенное предназначено для использования в функции). Синтаксис более или менее правильный, он предлагает структуру HTML, такую как:
<form ...>
<input name="intcode" ... >
<input name="lnamt" ... >
<input name="nomon" ... >
...
<input name="monpmt" ...>
<input name="totamt" ...>
</form>
Таким образом, если в форме есть кнопка, которая запускает функцию для получения некоторых значений и обновления значения какого-либо другого элемента управления, она может выглядеть следующим образом:
<input type="button" onclick="updateForm(this);" ...>
и функция обновления может выглядеть следующим образом:
function updateForm(el) {
var form = el.form; // store a reference to the form
var icode = document.forms[0].intcode; // reference to element named "intcode"
// Get the value of some controls
var lamt = document.forms[0].lnamt.value;
var nom = document.forms[0].nomon.value;
// Do something with the values
var mamt = ...;
...
var totamt = ...;
// Set some values in the form
// Have a reference to the form so use it
form.monpmt.value = Math.round(mamt);
form.totamt.value = totamt;
}
Обратите внимание, что значения элемента управления формы всегда являются строками, и вам следует проверить полученные значения, чтобы убедиться, что они соответствуют вашим ожиданиям. Если вы хотите обновить значения без нажатия пользователем кнопки [1], вы можете использовать событие blur для вызова updateForm .
Вам потребуется проверка входных значений и устранение ошибок (обновления до того, как пользователь заполнит все поля, и недопустимые данные являются очевидными). Также вам, вероятно, захочется отформатировать данные при их возврате, например, отформатировать числа в два десятичных знака.
- Лучше всего использовать кнопку, так как она может быть кнопкой отправки, поэтому, если javascript отключен или не работает, форма отправляется и обновляется на сервере, а обновленная форма возвращается. Если сценарии доступны, вы можете отменить отправку и выполнить обработку на клиенте. Вы можете получить обновление события размытия и кнопку, если хотите.