- PR -

複数ボタンがある場合の判断

1
投稿者投稿内容
まいっぷ
会議室デビュー日: 2004/10/18
投稿数: 2
お住まい・勤務地: 東京都
投稿日時: 2004-10-18 18:05
こんにちは。
Strutsにて開発をしていますが、JavaScriptで嵌っています。

現在画面にSubmitボタンが二つ存在しています。
「検索」ボタンは、そのまま検索処理を。
「承認」ボタンは確認ダイアログを表示し「OK」が押された時に処理が
実行される用になっています。

どちらのボタンも呼ばれるActionは同じで、Action内でどちらが押下
されたのかを判断し、処理が記述されています。


──────────────────────────────
1:<script language="JavaScript">
2:<!--
3:function doSubmit() {
4: if(confirm("更新します。よろしいですか?")==true){
5:   document.forms[0].submit();
6:  }
7:}
8:// -->
9:</script>

・・・略・・・
<body>
<form action="XXXX.do">
<input type="submit" name="kensakuButton" value="検索">
<input type="submit" name="shoninbutton" value="承認" onclick="javascript:doSubmit(); return false;">

・・・略・・・
</form>
</body>
──────────────────────────────

上記の記述方法になっているのですが、承認ボタンが押下された時はなぜか、
Action側でボタンのvalue値を取得できません。(検索時は"検索"と取れます)

そこで、上記のJavaScript箇所の4行目と5行目の間に
document.forn[0].shoninButton.value="承認";
っと、記述してみましたが、Alert確認では表示はされるのに、Actionに渡った
shoninButtonはnullのままです。(その他の画面情報はちゃんと取得できてます)

色々と試してみたのですが、不思議な現象が一つあり、
なぜかJavaScript側でエラーが発生している場合は、
(例えば存在しないオブジェクトを指定するなど・・・)
shoninButtonの値がセットされます。
(もちろん画面側では、エラーメッセージが・・・)

どうしたら、JavaScript側でエラーが出る事なく、
Action側でボタンのvalue値を取得できるでしょうか?

すいませんが、助けてください・・・。<(_ _)>
まいっぷ
会議室デビュー日: 2004/10/18
投稿数: 2
お住まい・勤務地: 東京都
投稿日時: 2004-10-18 18:40
ごめんなさい。解決しました。

・・・って言っても、イマイチ理解せずに「できた」というだけなのですが・・・。

やり方は
onClick時にfunctionを呼びますが、
confirm("更新します。よろしいですか?")の実行結果である
true,false を純粋に返してあげるだけでOKでした。

もっと言えば、ボタンのonClick=の箇所で
<input type="submit" name="shoninButton" value="承認" onclick="return confirm('更新します。よろしいですか?');">

でも、よかったようです。
1

スキルアップ/キャリアアップ(JOB@IT)