開発環境
- OS X Mavericks - Apple (OS)
- Dart Editor (開発環境)
- Dartium | Dart/ Structured web apps (ブラウザ, Dart VM 用 (Chromium with the Dart VM))
- Safari (ブラウザ, JavaScript 用)
- Dart (プログラミング言語)
Head First JavaScript ―頭とからだで覚えるJavaScriptの基本( Michael Morrison (著), 豊福 剛 (翻訳)、オライリージャパン)の2章(データを格納する)、JavaScriptマグネット(p.73)をDartで解いてみる。
その他参考書籍
- What is Dart? [Kindle版] (O'Reilly Media) Kathy Walrath Seth Ladd (著) このブログでの感想
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 コメント:
コメントを投稿