0

我有两种形式。

表格 A 有三个文本输入;A1、A2、A3。表格 B 有一个文本输入,B1。

每当您在表格 A 上输入任何输入时,表格 B 应立即更新为来自表格 A 的所有三个输入。如果表格 A 输入之一为空,则应在 B1 中将其替换为 0。

例如,如果我在 A1 中键​​入“test”并将 A2 和 A3 留空,则 B1 应该反映:test+0+0。如果我在 A1 中输入“test”,在 A2 中输入“help”,并将 A3 留空,那么 B1 应该反映:test+help+0

有人可以帮忙吗?我在 Javascript 方面的经验非常有限,所以我什至不确定如何搜索此功能的这些方面。有人可以指出我正确的方向吗?

4

2 回答 2

2

在A表单的每个输入的onChange事件中添加一个方法如:onChange=populateBField();

Function populateBField(){
 document.formB.B1.value = getFieldContents("A1") + "+" + getFieldContents("A2") 
 + "+" + getFieldContents("A3");
}

function getFieldContents(fieldName){
   var fieldValue = document.formA.fieldName.value;
   // if no value is entered, set to 0
   if (fieldValue.length < 1){
       fieldValue = 0;
   }
   return fieldValue;
}

请指出任何错误/改进,因为我自己是一个相对的 JS 新手 :)

于 2009-02-07T21:20:38.463 回答
1

开始,使用prototype.js

function build_b() {
    var str = "";
    str += "A1=" + ($F('A1') == ''? '0' : $F('A1'));
    str += "A2=" + ($F('A2') == ''? '0' : $F('A2'));
    str += "A2=" + ($F('A3') == ''? '0' : $F('A3'));
    $('B').value = str;
}

这假定元素 ID 是 A1、A2、A3 和 B。将此函数绑定到 A1、A2 和 A3 的“onchange”事件。

于 2009-02-07T21:18:59.260 回答