Javascriptを使用して、フォームフィールドの値をあるフィールドのセットから別のセットにコピーするにはどうすればよいですか。
ここでの考え方は、フィールドの1つのブロックから別の同一のフィールドのセットにユーザー情報をコピーする「配送先住所/請求先住所を使用する」タイプのボタンを用意することです。
現在、ボタンをクリックするとアクションを呼び出して、次のJavaScriptを実行します。
this.field1.value = this.field2.value;
ただし、そのアクションにより、デバッガーで「未定義」エラーが発生します。
後世のために、これは問題の解決策です:
getField("field2").value = getField("field1").valueAsString;
また、field2
に設定されています field1
したがって、順序は逆になります。
次のコードを使用して、2番目のフィールドにすでに何かが含まれている場合に、その値が上書きされないようにしました。
//Set the source and destination vars:
var source = this.getField("Box1");
var destination = this.getField("Box2");
//See if destination is empty and if so, insert source value
if(destination.value==''||destination.value==null){destination.value=source.value}
ソースフィールドの「オンブラー」で使用しましたが、「マウスアップ」をトリガーにしたボタンを使用することもできます。 (コードは このWebサイト で見つかりました。複数のフィールドにデータを入力したり、2つのソースフィールドの値を1つの宛先フィールドに結合したりするためのより複雑なオプションが含まれています。)