我是java-script的新手。我正在攻击我的一个应用程序 需要从表单中获取值并对其进行处理:
icode=document.forms[0].intcode;
lamt=document.forms[0].lnamt.value;
nom =document.forms[0].nomon.value;
并根据内容更新表单中其他字段中的值 以上三个值如下:
document.forms[0].monpmt.value=Math.round(mamt);
document.forms[0].totamt.value=totamt;
注意:这些值必须自动显示在表单中,具体取决于上述三项 用户输入的值。
我在Linux平台和tomcat上这样做。
答案 0 :(得分:0)
> 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 。
您需要验证输入值并处理错误(在用户填写所有字段之前进行更新,而无效数据是显而易见的)。此外,您可能希望在放回数据时格式化数据,例如将数字格式化为两位小数。