0

どのフィールドにエントリがあるかによって、異なる関数を呼び出す電卓を作成する必要があります。
「initial_hosts」にはエントリが必要です。その場合、ユーザーは「Time」または「Num」に値を入力できますが、両方を入力することはできません(エラーメッセージ)。

「計算」をクリックしたときに「時間」に値を入力した場合は関数number()を呼び出し、「Num」の場合は関数timeCal()を呼び出します。

<script language="javascript" type="text/javascript">
  function timeCal(){
    a=Number(document.calculator.initial_hosts.value);
    b=Number(document.calculator.Num.value);
    // Example of cal
    c=a*b;
    document.calculator.total.value=c;
  }
</script>

<script language="javascript" type="text/javascript">
  function number(){
    a=Number(document.calculator.initial_hosts.value);
    b=Number(document.calculator.Time.value);
    // Example of cal
    c=a*b;
    document.calculator.total.value=c;
  }
</script>

<div class="figure2"> 
  <form name ="calculator" class="form">
    <p>You can use the calculator below to see the approximate number of infected hosts after a given amount of time </p>
    <label for="Fname">initial hosts:</label><br/>
    <input type="text" name="initial_hosts"/><br/>

    <label for="Fname">Trigger Date:</label><br/>
    <input type="text"  id="TTime" value="" />
    <br/><br/>

    <font face="arial, helvetica" size="2" >Note: Enter the time space or the number of targets </font><br/>

    <label for="Time">Enter Time:</label><br/>
    <input type="text" name="Time"/><br/>

    <label for="Num">Target Number :</label><br/>
    <input type="text" name="Num"/><br/>

    <label for="total">Outcome:</label><br/>
    <input type="text" name="total"/><br />
    <br/>

    <p><input type="button" style="height: 35px; width: 100px" value="Calculate"  onclick="javascript:timeCal();"/>
  </form>
</div>

どうすればいいのかわからないので、よろしくお願いします:)

4

2 に答える 2

1
<script language="javascript" type="text/javascript">  
    function callAppropriateFunction(){
        numValue=document.calculator.Num.value;
        timeValue=document.calculator.Time.value;  
        if(numValue!='')
            number();
        else if(timeValue!='')
            timeCal();
        else
            alert("please select either number or time");
    }
</script>


<input type="button" style="height: 35px; width: 100px" value="Calculate"  onclick="javascript:callAppropriateFunction();"/>
于 2012-04-13T17:52:21.077 に答える
0

と呼ばれる新しい関数を作成し、calculate();そこからどのフィールドにデータが含まれているかを確認します。

function calculate() {
   if (document.calculator.time.value != ""){
       timeCal();
   }else {
       number();
   }
}

ボタンを変更してcalculate();を実行します。

<input type="button" style="height: 35px; width: 100px" value="Calculate"  onclick="javascript:calculate();"/>
于 2012-04-13T17:48:26.423 に答える