2

form name="form1"入力ボックス( )から入力ボックス( form name="form2")に値をエコーする方法

form1最初のフォーム内およびdiv内で入力をエコーする方法を理解しましたが、最初のフォーム( )の入力ボックスから入力ボックスに入力を渡す方法を理解できません。 2番目の形式(form2)。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function FillBilling(f) {
    f.billingname.value = f.shippingname.value;
    f.billingcity.value = f.shippingcity.value;
}
function changeRadius1(){
    var name_input = document.getElementById('name_input').value;
    document.getElementById('radius1').innerHTML = name_input;
}
function changeRadius2(){
    var city_input = document.getElementById('city_input').value;
    document.getElementById('radius2').innerHTML = city_input;
}
</script> 

</head>
<body>
<b>Mailing Address FORM1</b><br><br>
<form name="form1">
Name:<input type="text" name="shippingname" onkeyup="FillBilling(form1); changeRadius1()">
<br>City:<input type="text" name="shippingcity" onkeyup="FillBilling(form1); changeRadius2()">
<br><br>
Name:<input type="text" id="name_input" class="name_input" name="billingname" onkeyup="FillBilling(form2)"><br>
City:<input type="text" id="city_input" class="city_input" name="billingcity" onkeyup="FillBilling(form2)">
</form>
<br>
<P>
<b>Billing Address FORM2</b><br><br>
<form name="form2">
Name:<input type="text" id="name_input" class="name_input" name="billingname"><br>
City:<input type="text" id="city_input" class="city_input" name="billingcity">
</form>

<br><b>Billing Address TEXT</b><br><br>
<div class="yourcode">Name: <span id="radius1"></span></div>
<div class="yourcode">City: <span id="radius2"></span></div>

</body>
</html>

これがばかげた質問ではないことを願っています..そして答えは明白であるはずです..しかし私はJSの始まりです..あなたの助けに感謝します。

4

2 に答える 2

1

あなたが何を達成しようとしているのか完全にはわかりませんが、私はあなたを助けることができると思います:

form1、FillBilling(form2)の2番目のフィールドセットで関数呼び出しを行う場合、「f」がform2への参照であるFillBilling関数を呼び出しています。form2には、「shippingname」および「shippingcity」という名前の入力はありません。これらは未定義を返しています。

より具体的に変更したいフォームにアクセスできるように、関数を書き直す必要があります。

また、プログラミング時のHTMLの有効性と明確さのために、HTMLの名前とIDを再利用しないようにする必要があります。これらのことが結果として起こります。

于 2012-11-04T16:29:29.490 に答える
0

フィールド値をあるフォームから別のフォームにコピーする関数の例を次に示します。両方がtextタイプ入力であり、同じ入力名を持つ場合にのみ、フィールドがコピーされます。

function copyForm(srcForm, destForm) {
  var srcFields = srcForm.elements, destFields = destForm.elements, i, j;
  for (i = 0; i < srcFields.length; i++) {
    var srcField = srcFields[i];
    if (srcField.type && (srcField.type.toLowerCase() === 'text')) {
      for (j = 0; j < destFields.length; i++) {
        var destField = destFields[j];
        if (destField.type && (destField.type.toLowerCase() === 'text') && (destField.name === srcField.name)) {
          destField.value = srcField.value;
          break;
        }
      }
    }
  }
}

提供されたHTMLコードに基づいてコピーform1する使用例を次に示します。のとフィールドをのフィールドにform2コピーします。に同等のものがないため、andofはコピーされません。billingnamebillingcityform1form2shippingnameshippingcityformform2

var src, dest;
src = document.getElementsByName('form1');
if (src.length) {
  dest = document.getElementsByName('form2');
  if (dest.length) {
    copyForm(src, dest);
  }
}
于 2012-11-05T20:11:58.520 に答える