開発環境
- 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 コメント:
コメントを投稿