2016-06-23 13 views
1

私はその後、値を調整することが乗取得するには、以下のJSPファイルを使用しています:自動計算とでリセットHTML&JSP

<html> 
<h4> 
    <% 
    int numint = 50; 
    try{ 
     numint = Integer.parseInt(request.getParameter("num")); 
    }catch(Exception e){ 
     numint = 50; 
    } 
    %> 
Adjust number: 
<form method="get"> 
    <br> Number (1-100): <input type="range" name="num" min="1" max="100" value=<%=numint%> > 
    <br> 
    <br><br> <input type="submit" value="Calculate" /> 
    <br><br><input type="reset" value="Reset"> 
</form> 



<p><hr> 
    <% 
    // Set refresh, autoload time as 5 seconds 
    response.setIntHeader("Refresh", 5); //DOES NOT WORK TO AUTOCALCULATE; 

    out.println("Output: <br>"); 
    out.println("<br>Number = "+ numint); 
    out.println("<br>Number squared = "+ numint*numint); 
    %> 
    <hr> 
</p> 
</h4> 
</html> 

数はスライダーでと計算ボタン、番号とその四角を押すに調整することができます出力領域に表示されます。

しかし、2つの問題があります。

  1. リセットボタンは、私はいくつかの他の値にスライダーを調整した場合に自動更新ローダーが再計算されませんバック50
  2. に番号を設定していないが、待ってください。

どのようにこれらの2つの問題を解決できますか。ご協力いただきありがとうございます。

+0

入力フィールドには、最後に入力された値である「値= <%=numint%>」があります。ユーザーがリセットを押すと、入力したものが最後に送信された値に置き換えられます。 –

+0

リセットボタンの代わりに、値をリセットするためにいくつかのjavascriptで標準のボタンを使用することができます。私は以下の答えとして例を挙げます。 –

答えて

1

resetボタンで値を実際にリセットしてフォームを送信できます。このコードは次のようなものです。メモ入力フィールドに "id"を追加しました。私は "リセット"ボタンを実際に別の送信ボタンに変更しました。送信する前に入力を50に戻すJavaScriptがあります。あなたはそれをテストする必要があります、いくつかのタイプミスを持つ可能性があります。

<html> 
<h4> 
    <% 
    int numint = 50; 
    try{ 
     numint = Integer.parseInt(request.getParameter("num")); 
    }catch(Exception e){ 
     numint = 50; 
    } 
    %> 
Adjust number: 
<form method="get"> 
    <br> Number (1-100): <input id="num" type="range" name="num" min="1" max="100" value=<%=numint%> > 
    <br> 
    <br><br> <input type="submit" value="Calculate" /> 
    <br><br><input type="submit" value="Reset" onclick="document.getElementById('num').value='50';"> 
</form> 



<p><hr> 
    <% 
    // Set refresh, autoload time as 5 seconds 
    response.setIntHeader("Refresh", 5); //DOES NOT WORK TO AUTOCALCULATE; 

    out.println("Output: <br>"); 
    out.println("<br>Number = "+ numint); 
    out.println("<br>Number squared = "+ numint*numint); 
    %> 
    <hr> 
</p> 
</h4> 
</html> 
+0

はい、うまくいきます!ありがとう。多くのスライダーがある場合、どのように管理すればよいのですか?単一のリセットボタンを使用してすべてのスライダーを中間値に戻す必要がありますか? – rnso

+0

これを行うには、より長いjavascript関数を書くことができます。しかし、最も簡単な解決策は、リセットボタンを、値を送信せずにフォームに移動するリンクに置き換えることです。試してみるには、リセットボタンを以下のように置き換えてください: 'Reset' –

+0

パーフェクト。ありがとう。 – rnso

関連する問題