2010-12-30 14 views
0

LIVE CODE:http://jsfiddle.net/nnMYN/JavaScriptコードで何が問題になっていますか?

私は上記の 『チェックボックスと同じ「ユーザーがチェックした場合、自動的に自宅の住所欄に住所をコピー』しなければならないこれに加えて、我々はホームアドレスフィールドを無効にしますチェックボックスがオンになっています。 (from here)どうしたの?

<html> 
    <head> 
    </head> 
    <body> 
     <form> 
      <fieldset> 

       <legend>Billing Information</legend> 

       <p> 
        <label> 
         Postal Address:<br> 
         <textarea name="postaladdress" id="postaladdress"></textarea> 
        </label> 
       </p> 

       <p> 
        Home Address:<br> 
        <label> 
         <input type="checkbox" name="homepostalcheck" id="homepostalcheck"> 
         Same as above 
        </label> 
        <br> 
        <textarea name="homeaddress" id="homeaddress"></textarea> 
       </p> 

      </fieldset> 
     </form> 
     <script type="text/javascript"> 
      var loc = document.getElementById('homepostalcheck'); 
      var home = document.getElementById('homeaddress'); 
      loc.onclick = !loc.checked ? function() {home.disabled = true; home.value = post.value; alert(post.value);} : function() {home.disabled = false; home.select();}; 
     </script> 
    </body> 
</html> 

答えて

2

ちょうど

var post = document.getElementById('postaladdress'); 

を追加あなたはpostオブジェクトのパラメータvalueにアクセスしようとし続ける、ない存在でありますそのようなpostオブジェクトは定義していないためです。 homeの定義の後に上記の行を追加する場合は、設定する必要があります。それはjsFiddleで編集したときに機能しました。

+0

これは完全には機能しませんでしたが、解決策が見つかりました。しかし、ありがとう、それは確かに私を助けた。作業バージョン:http://jsfiddle.net/nnMYN/2/ – DarkLightA

0

機能にJavaScriptを配置しよう(){

<script type="text/javascript"> 
    (function() { 
     var loc = document.getElementById('homepostalcheck'); 
     var home = document.getElementById('homeaddress'); 
     loc.onclick = !loc.checked ? function() {home.disabled = true; home.value = post.value; alert(post.value);} : function() {home.disabled = false; home.select();}; 
    }); 
</script> 
関連する問題