0

私は2つのフォームを持っています。

フォーム A には 3 つのテキスト入力があります。A1、A2、A3。フォーム B には 1 つのテキスト入力 B1 があります。

フォーム A のいずれかの入力を入力すると、フォーム B はフォーム A からの 3 つの入力すべてですぐに更新されます。フォーム A の入力の 1 つが空の場合、0 が B1 に置き換えられます。

たとえば、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 に答える