【Cut&Tryで辿り着いたスクリプティング】4
Javaスクリプトでファンクションを定義し実行する。

 

これも<input …>タグで使用します。
ページにボタンを作成し、ボタンのクリック(タップ)で、JavaScriptのファンクションを実行させる。

 

HTMLファイル、<body>内で、ボタンを表示させたいところに次の一文を挿入する。
<INPUT type="button" value="(ボタンに表示する名称)" onclick="(任意の名称1)()">

 

ブラウザやプラットフォームにより、ボタン、文字の大きさや形状に違いがあります。
ファンクションの実行結果の表示のため、<body>内に次の一文を挿入する。
<span id="(任意の名称1-1)"><span>

 

(任意の名称2).js というファイルを作成し、テキスト編集アプリで次の3行を入力し保存する。
function (任意の名称1)(){
    document.getElementsById("(任意の名称1-1)").innerHTML = "(任意の文)";
}

 

HTMLファイルでJavaスクリプトファイルをリンクさせるため、HTMLファイルに次の一文を追加する。
<SCRIPT type="text/javascript" src="(任意の名称2).js"></SCRIPT>

 

追加位置は大きく2通り。
(A)ヘッダー
Javaスクリプトの解釈が軽い、少ない、HTMLページの表示が軽い場合や、従来の慣習に従う場合。
(B)<body>内
Javaスクリプトの解釈が重い、多い、HTMLページの表示が重い場合、</body>の直前だとHTMLページの表示速度に影響が出にくいらしい。

 

今回は</head>直前の追加を推奨します。

 

《追加Tips》
使用するスクリプティングが JavaScript だけの際は、追加した一文を以下の二行と置き換えます。
<META http-equiv="Content-Script-Type" content="text/javascript">
<SCRIPT src="(任意の名称2).js"></SCRIPT>

 

二行目の type 属性が不要になります。<body>内の他行にJavaスクリプトを記述する際も type 属性が不要です。
type="text/javascript"
の属性は、以前、
language="JavaScript"
と記述してました。

 

【Cut&Tryで辿り着いたスクリプティング】3
HTMLで入力した数字をJavaスクリプトで演算する。

 

HTMLファイル、<body>内の表示させたいところに次の一文を挿入する。
<INPUT type="text" id="(任意の名称1)" value="(数字)">
入力用の枠が現れ、初期値(数字)が表示される。

 

.JSファイルのファンクション内の変数定義の後に次の一文を挿入する。
(任意の名称1-1) = parseFloat(document.getElementById("(任意の名称1)").value);

 

数として使用する際は parseFloat(…) などの関数で変換する。
これで変数(任意の名称1-1)は明確に浮動小数点数として四則演算ほか、数式を記述できます。

 

《追加Tips》
変数(任意の名称1-1)を元のHTMLページに表示する。

 

前回説明したスクリプティングでは<span>タグでした。
ここでは、枠のある<INPUT>タグです。形式は上述と全く同じなので、入力枠なのか出力枠なのか明確でない為、書込み禁止のリードオンリー属性をタグ中に記述すべきでしょう。

 

.JSファイルのファンクション内に次の一文を挿入する。
document.getElementById("(任意の名称2)").value = (任意の名称1-1);


HTMLファイル中の表示位置の記述方法は、入力も出力も同じですが「=」が無い記述や右側なら受取り(HTMLから入力)、左側なら払出し(HTMLへ出力)になります。

 

元のHTMLファイルで、(任意の名称1-1)を表示させたい場所に次の一文を挿入する。

<INPUT readonly type="text" id="(任意の名称2)">

リードオンリー属性 readonly をタグ中に記述する。

 

【Cut&Tryで辿り着いたスクリプティング】2

タイトル画像を造ってみました。

 

 

HTML5の<input…>タグの属性 type="number" では入力モード、入力幅の指定がブラウザやプラットフォームに因って動作に違いがあります。

 

《入力モード(入力画面)》

 MacOS10.6.8 (Safari)は、数字入力画面が無いので数字になりません。入力モードが変わらないためです。

iOS9.3.5 (Safari)も入力モードは変わりませんが、数字入力画面が有るので、数字入力ボードになってます。

 

 Windows7 (IE11、Firefox)は、IMEがオフになり、英字入力モードになります。

 

 Android5.1.1 (Chrome、Firefox)は、 英語と顔文字などで使用頻度の高い言語3語(仏語、露語、ギリシャ語)のみの確認ですが、複数の文字を割り当ててない共通の数字入力モードになりました。

 

《入力幅》
Safari (MacOS10.6.8)、IE11 (Windows7)

size="*"

指定しないとデフォルト?で、

*を 20 とした時と同じくらい。

 

Safari (iOS)、 Chrome (Android5.1.1)

min="-**" max="**"

**に指定した数字の桁の大きい方。

 

FireFox (Windows7, Android5.1.1)

指定方法が判らず小さくできません。

 

《使用感》

各環境とも、タグ中の解釈されない属性は無視してくれてますので、入力幅の課題は Firefox だけ。

 数字入力は IME が切り替ってくれたほうが楽です。

iOSでもモードは変わらないため、日本語入力モードで「11」などの同じ数字入力では、キーボード設定を「フリックのみ」にすると余程良くなります。課題は半確定状態から確定にするのにワンアクション必要である事。

Android5.1.1 (Chrome、Firefox)は各語キーボードセットに半確定モードのない数字のみ入力ボードがあり問題無し。