札幌Web制作のシンクグラフィカ

自宅住所と会社住所が同じならコピーさせたい

佐藤さん (2013-08-09 15:41:15) jafan649.securesites.net/form/assembly2/

自宅住所と会社住所が同じなら
チェックボックスにレ点を入れて
コピーさせたいと考えています。
コードは下記のようにしました。

【HTMLコード】
<script type="text/javascript" src="js/copy.js"></script>

<input type="checkbox" name="chk1" onClick="chkcopy1(chk1)" id="chk1" />
<label for="chk1">「自宅住所」と同一の場合は左記のボックスにチェックを入れてください。</label>

【copy.js】
function chkcopy1(objChk){
  if(objChk.checked){
    document.mailfrm.elements["会社住所"].value=document.mailfrm.elements["自宅住所"].value;
  }else{
    document.mailfrm.elements["会社住所"].value="";
  }
}

しかし、反応しません。
フォームの最終行近くの、
<script type="text/javascript" id="mfpjs" src="mailformpro/mailformpro.cgi" charset="UTF-8"></script>
を、削除したら反応しました。
何か、バッティングしてしまうのでしょうか。

よろしくお願いいたします。

---------------------
環境:mailformpro 4.0.9

Re:自宅住所と会社住所が同じならコピーさせたい

佐藤さん (2013-08-09 16:01:37) jafan649.securesites.net/form/assembly2/

switching.js に下記を記入したら解決出来ました。

function swElementsExample(){
  if(mfp.$(’chk1’).checked){
    document.mailfrm.elements["会社住所"].value=document.mailfrm.elements["自宅住所"].value;
  }else{
    document.mailfrm.elements["会社住所"].value="";
  }
}

大変お騒がせしました。
switching.js マスターになれそうな今日この頃です。

Re:Re:自宅住所と会社住所が同じならコピーさせたい

和田 (2013-08-12 14:29:36) www.synck.com

自己解決ありがとうございます!蛇足になりますが
document.mailfrm.elements["会社住所"].value
と、するよりは、
document.getElementById(’CorpAddress’).value
「CorpAddress」はID属性

とするほうが安全です!
オブジェクトは可能な限りIDを指定するようにしたほうがよいです!

ありがとうございました。

佐藤聖さん (2013-08-13 09:37:29) jafan649.securesites.net/form/assembly2/

コメントありがとうございました。

getElementById のほうが良いんですね!
こちらで運用させて頂きます。