私は、javascriptとhtml5のハングを取得するためのプロジェクトに取り組んでいます。ユーザエラーのために "number"タイプの出力フィールドに文字列を返すjavascript
今私はinput_a
とinput_b
の2つのテキストフィールドを持っています。私はこれらの2つの数値を使用する1つの出力フィールドを持っています(全体または浮動小数点が可能です)。計算結果を出力フィールドに返します。簡単にするために、ここで(CSSファイルを無視する)これが設定されている方法です。ありがたいことに
<!DOCTYPE html>
<html>
<head>
<title>JS Test</title>
<meta charset="utf-8" />
</head>
<script>
function select_formula() {
track_a = input_a.valueAsNumber;
track_b = input_b.valueAsNumber;
if(track_a > 200.0 || track_a < 0.0) {
console.log("Number must be between 0 BPM and 200 BPM");
return false;
}
if(track_b > 200.0 || track_b < 0.0) {
console.log("Number must be between 0 BPM and 200BPM");
return false;
}
if(track_a > track_b) {
return "((track_a - track_b)/track_a) * 100";
} else if(track_a < track_b) {
return "((track_a - track_b)/track_b) * 100";
} else {
return "0.0";
}
}
</script>
<body>
<header>
<h1>JS Test</h1>
</header>
<form onsubmit="return false" oninput="o.value=eval(select_formula());">
Track A: <input name="input_a" id="input_a" type="number" step="0.01" min="0.0" max="200.0" placeholder="Track A"><br/>
Track B: <input name="input_b" id="input_b" type="number" step="0.01" min="0.0" max="200.0" placeholder="Track B"><br/>
<br />
Output: <output name="o" step="0.01" value="0.00" for="a b"></output>
</form>
</body>
</html>
今誰が入力テキストフィールドに文字列を、私の入力はnumber
の種類を持っているので、することができます。しかし、誰かがこの範囲外の無効な番号を入力した場合、出力にエラーメッセージ"Number must be between 0 BPM and 200 BPM"
が表示されたかったのです。
現時点ではalert()
を作成することはできますが、私は実際にユーザーを悩ます必要はなく、エラーで遠くに行く必要はありません。だから私のエラーを出力に送るにはどうしたらいいですか?私はJavaScriptの初心者ですので、私はちょうどこの時点で多くの異なるチュートリアルに従っています。適切な方向への助けがあれば幸いです。
ここで、その番号を 'output'テキストボックスに表示するのに問題があります。今はそれがその上に表示されます。私はdivを動かして、 'output' idを変更しようとしましたが、それ以上のことはありませんでしたが、何も動かないようです。 'result'を' output'としてどのように置くことができますか? – Alex