2012年5月17日木曜日

開発環境

『初めてのJavaScript 第2版』(シェリー・パワーズ著(Shelley Powers著)、武舎 広幸+武舎 るみ訳、オライリー・ジャパン、2009年、ISBN978-4-84311-425-5) の8章(フォームと検証)練習問題1解いてみる。

その他参考書籍

1.

コード(TextWrangler)

<script>
  catchEvent(window,"load",setUpEvents);
  
  function catchEvent(eventObj,event,eventHandler){
    if(eventObj.addEventListener){
      eventObj.addEventListener(event,eventHandler,false);
    } else if(eventObj.attachEvent){
      eventObj.attachEvent(event,eventHandler);
    }
  }
  
  function cancelEvent(event){
    if(event.preventDefault){
      event.preventDefault();
      event.stopPropagation();
    } else {
      event.returnValue = false;
      event.cancelBubble = true;
    }
  }
  
  function setUpEvents(event){
    catchEvent(document.getElementById("someForm"),"submit",checkColors);
  }
  
  function checkColors(event){
    var theEvent = event?event:window.event;
    var colorOpts =
      document.getElementById("someForm").getElementsByTagName("input");
    var message = "どれかひとつ、色を選んでください。";
    for(var i = 0 ; i < colorOpts.length; i++){
      if(colorOpts[i].checked){
        var r = Math.random();
        message = r >= 0.7 ? "大吉" :
                  r >= 0.4 ? "中吉" :
                  r >= 0.1 ? "小吉" : "凶";
        message = "凶のあなたの運勢は" + message + "です。";
        break;
      }
    }
    alert(message);
    cancelEvent(theEvent);
  }
</script>
<h2>今日のカラー占い</h2>
<p>お好みの色をお選びください。</p>
<form id="someForm" action="">
<input type="radio" value="赤" name="radiogroup"/>赤
<input type="radio" value="青" name="radiogroup"/>青
<input type="radio" value="黄色" name="radiogroup"/>黄色
<input type="radio" value="白" name="radiogroup"/>白
<br />
<input type="submit" value="送信"/>
</form>

今日のカラー占い

お好みの色をお選びください。

黄色

0 コメント:

コメントを投稿