2014年1月20日月曜日

開発環境

Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の2章(データを格納する)、JavaScriptマグネット(p.73)をDartで解いてみる。

その他参考書籍

JavaScriptマグネット(p.73)

コード

sample.dart

import 'dart:html';

void main(){
  cake_donuts.onChange.listen((Event event) => updateOrder());
  glazed_donuts.onChange.listen((Event event) => updateOrder());
  place_order.onClick.listen((MouseEvent event) => placeOrder());
}

InputElement cake_donuts = querySelector('#cakedonuts');
InputElement glazed_donuts = querySelector('#glazeddonuts');
InputElement customer_name = querySelector('#customer_name');
InputElement pickup_minutes = querySelector('#pickupminutes');
InputElement place_order = querySelector('#place_order');

void updateOrder(){
  final TAXRATE = 0.0925;
  final DONUTPRICE = 0.50;
  var num_cake_donuts = int.parse(cake_donuts.value, onError:(var x) => 0);
  var num_glazed_donuts = int.parse(glazed_donuts.value, onError:(var x) => 0);
  var sub_total = (num_cake_donuts + num_glazed_donuts) * DONUTPRICE;
  var tax = sub_total * TAXRATE;
  var total = sub_total + tax;
  InputElement input_subtotal = querySelector('#subtotal');
  InputElement input_tax = querySelector('#tax');
  InputElement input_total = querySelector('#total');
  input_subtotal.value = '\$${sub_total.toStringAsFixed(2)}';
  input_tax.value = '\$${tax.toStringAsFixed(2)}';
  input_total.value = '\$${total.toStringAsFixed(2)}';
}

void placeOrder(){
  if(customer_name.value.isEmpty){
    window.alert('申し訳ありませんが、注文を送信する前に名前を入力して下さい');
  } else {
    var minutes = int.parse(pickup_minutes.value, onError: (var s) => -1);
    if(minutes == -1){
      window.alert('申し訳ありませんが、注文を送信する前に何分後に来店されるかを入力して下さい');
    } else {
      print('else else');
      window.alert('注文確定');
    }
  }
}




小計:
税:
合計:

0 コメント:

コメントを投稿