私は、3つの入力と1つの出力を持つ単純な計算機を設計しています。
使用される入力フィールド(*)に基づいて、出力要素が「使用する」式を変更できるかどうか疑問に思います。
たとえば、ツリー入力があります:入力A、入力B、入力C
- AとBが使用されている場合(およびCが空の場合)、出力の式は「A+B」である必要があります。
- AとCが使用されている場合(およびBが空の場合)、出力の式は「A*C」である必要があります。
- BとCが使用されている場合(およびAが空の場合)、出力の式は「B/C」である必要があります。
では、使用された入力に基づいて、出力要素に使用される式をどのように変更できますか?
これは単純化された例です、私はあなたがポイントを得ることを望みます:-)
リクエストに応じて、ここにいくつかのサンプルコードがあります
[code]
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8"></meta>
<script>
function Test(){
<!--alert('Formula change!');-->
if (input_a.valueAsNumber && input_b.valueAsNumber){
alert('Formula One');
o.value=input_a.valueAsNumber+input_b.valueAsNumber;
}
if (input_b.value && input_c.value){
alert('Formula Two');
o.value=input_a.valueAsNumber*input_c.valueAsNumber;
}
if (input_a.value && input_c.value){
alert('Formula Three');
o.value=input_b.valueAsNumber/input_c.valueAsNumber;
}
}
</script>
<style>
</style>
<title>Example</title>
</head>
<body onload="">
<form onsubmit="return false" oninput="
Test();
<!--o.value=input_a.valueAsNumber+input_b.valueAsNumber;-->
">
<input name="input_a" id="input_a" type="number" step="any" value="" placeholder="Input A"></br>
<input name="input_b" id="input_b" type="number" step="any" value="" placeholder="Input B"></br>
<input name="input_c" id="input_c" type="number" step="any" value="" placeholder="Input C"></br>
</br>
<output name="o" for="a b c"></output>
</form>
</body>
[/code]
(*)別の可能性は、複数の出力を持つことですが、(入力に基づいて)関連性のないものを非表示にすることです...しかし、どうすればよいですか?