<%int i=0;%>
<form>
<input type="submit" value="私物回収" onClick=<%i=i+9;%>>
</form>
<%if(i>=10){%>
<p>18になったよ。</p>
<%}else{%>
<p>9になったよ</p>
<%}%>
ソースはこんな感じに書いております。
1回クリックしたら、(9になったよ)って出て、2回クリックしたら(18になったよ)って出るようにしたいです。
今の状態だと、ボタンを押してないのに(9になったよ)って出てしまいます。
これをボタン押す前は何も出さず。押してから出るようにしたいです。
回答お願いします。
No.1ベストアンサー
- 回答日時:
<input type="submit">を使っていますよね。
ということは、クリックしたら送信して、そのアドレス(おそらくこの状態では現在のページ)がリロードされます。つまり、リロードされる段階で変数iなどはすべてまた初期状態に戻りますから、何度ボタンを押しても結果はかわりません。常に、ボタンをおす度に最初の<%int i=0;%>でiはゼロになり、その後の<%i=i+9;%>で9になって、それがそのまま結果につながります。
考え方としては2つあります。
1つは、JSPがどうとか考えず、すべてJavaScriptとして記述する、という考え方です。
もう1つは、値を<input type="hidden">などに保管しておき、送信したらその値をgetParameterで取り出して、その値を元に変数iを設定するようにする、というものです。あるいは、セッションなどに値を保管してもいいでしょう。
これは、フォームの送信やセッションについて理解していないといけません。そのあたりはすでにわかっていますか? わかっていなければ、そのあたりまで学習を進めて下さい。
この回答への補足
フォームの送信はHTMLをやっていたので、なんとなくわかってたのですが、
セッションスコープは中途半端に理解しただけで、実際にやってみても全然できませんでした。
JSPやサーブレットじゃなく、JAVAから勉強しなおそうと思います。
HTML&CSSで本をちょっと見ただけで、僕でもHP作れたことで調子にのってしまい、
JAVAも楽勝だろ~~いっちょゲーム作ってみっか~と思い手出してしまったら全然わかりませんでした。
ジャバスクリプトは今のところ考えていません。JAVAより難しそうですし・・・
JAVAに手出しつつ、違うのに手を出すと悪い頭が回らなくなってしまいます。
質問しておいて理解しないままあきらめるのは失礼ですが、
私は質問する前に、そもそもスキルが追いついてなく、JSP&サーブレットは予想以上に難しかったです。
回答してくださり、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# Enterキーの動作について
-
c# 文字列の最後から1文字削除...
-
グリッドビューでのチェックボ...
-
今更、VBAでRPA、キーボード操...
-
SPREADでカーソルの位置を1行目...
-
DataGridViewのチェックボック...
-
【C#】 : WindowsProgramming ...
-
VC++ MFC CListCtrlで、ボタン...
-
asp.net メッセージボックス表...
-
VBのこのコードの意味を教えて...
-
Visual C#でストップウォッチ機...
-
ボタンの形
-
Page_Load時にボタンクリックイ...
-
VBAで一時中断したプログラムの...
-
複数のSubmitボタンをname属性...
-
JSPでメッセージボックスを表示...
-
IEの閉じるボタンを消す方法
-
VB.NETでボタンクリックイベン...
-
Ctrlキーを押しながらのダブル...
-
Java言語のSwingコーポネント「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataGridViewのチェックボック...
-
グリッドビューでのチェックボ...
-
ブラウザの×ボタン(閉じるボタ...
-
【JavaScript?HTML?】Webペー...
-
Eclipseでクリーンが出来ない
-
c# 文字列の最後から1文字削除...
-
VBAで一時中断したプログラムの...
-
【C#】 : WindowsProgramming ...
-
EXCEL2010でセルが編集中かを判...
-
Ctrlキーを押しながらのダブル...
-
SPREADでカーソルの位置を1行目...
-
メール添付されたPDFファイルが...
-
ロストフォーカスイベントとそ...
-
asp.net メッセージボックス表...
-
CheckBoxをボタン形式にして押...
-
JSPでメッセージボックスを表示...
-
今更、VBAでRPA、キーボード操...
-
VC++ MFC CListCtrlで、ボタン...
-
Fancyboxのiframe内に閉じるボタン
-
VBのこのコードの意味を教えて...
おすすめ情報