- PR -

ASP.nteの処理途中でJavaScriptをはさむ

投稿者投稿内容
glassco
会議室デビュー日: 2006/05/08
投稿数: 10
投稿日時: 2006-08-14 14:08
皆様たくさんのレスありがとうございます。
返信が滞ってしまい、申し訳ないです。
土日も会社には居たのですが、レスが出来ない状態でした…
(なんで会社に居るんだろう?しかも今日もお盆休みなのに…)

◆ぜうす様、レスあありがとうございます。

引用:

RegisterStartupScriptは、HTML表示前に実行されるのでフォームやボタンを正しくSubmit出来ないと思いますよ。

で、Bodyのonloadイベントで1回目の実行と2回目の実行を判定できれば出来るような...たぶん...。


う、うぅん…、難しい事をおっしゃいますね(汗
ボタン押下時にASP.netからスクリプトを生成すれば何とか一回目と二回目は
判定できそうですが…
判定したどうすればよいのやら…って感じです。
せっかくご教示いただいたのに申し訳ないです<(__)>

◆かるあ様、度々のレスありがとうございますです。

引用:

コード:
<input type="submit" onclick="return confirm(\\"いい?\\");" />


のようにボタンがクリックされたときに処理される JavaScript を
ブラウザにロードされたときに動くようにしてあげれば同じ動作になるかな〜と
うーん、まだ説明がうまくないな・・・



これですと、page_loadイベントが走る度にconfirmが出てしまいますよね?
画面では他の処理も行っているので、
ボタンを押下したタイミングでのみ、確認ダイアログを出したいと思っています。
説明不足でした…<(__)>

引用:

これは form を submit したり、button をクリックしたりで行えますよね


ですと、やはりクライアント(この場合はユーザが起こしたアクション)からの
イベントを受け取る必要があると言うことですね?
う〜、やはり出来なさそうですねぇ…

◆Moo様、レスありがとうございます。
引用:

これが参考になりませんか?

ページがロードされた時にjavascriptを実行するには
http://moo-asp.net/wiki/NWiki.aspx?page=TIPS%2f2


拝見させていただきました。
ご教示ありがとうございます。
しかし、上記に述べたとおり、この場合ですと、
page_loadイベントが走る度にconfirmが出てしまいますよね?
なので、せっかくご教示いただいたのに申し訳ございません<(__)>

(わたしの説明不足過ぎですね(汗
申し訳ないです。)

行いたい処理は以下のような形です。
画面を表示

画面に入力された検索条件を元に検索し、GridViewに表示

表示した検索条件から任意の1行を選択

画面上にあるボタンを押下

以下表題のTOPに記述した処理を行う。

といった感じの処理です。
(うまく伝わったでしょうか…?)

もしよろしければ、皆様またご教示いただければと思います<(__)>
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-08-14 14:19
引用:

glasscoさんの書き込み (2006-08-14 14:08) より:

これですと、page_loadイベントが走る度にconfirmが出てしまいますよね?
画面では他の処理も行っているので、
ボタンを押下したタイミングでのみ、確認ダイアログを出したいと思っています。


ですので必要なときだけ出力するために
RegisterStartupScript などで制御してあげればいいのでは?

もちろん、書き出したページを再読み込みすれば、
メッセージは表示されてしまいますが。。。

引用:

glasscoさんの書き込み (2006-08-14 14:08) より:

引用:

これは form を submit したり、button をクリックしたりで行えますよね


ですと、やはりクライアント(この場合はユーザが起こしたアクション)からの
イベントを受け取る必要があると言うことですね?


クライアントで処理するイベントはクライアントで受けてあげれば
いいのではないでしょうか?
glassco
会議室デビュー日: 2006/05/08
投稿数: 10
投稿日時: 2006-08-14 22:04
かるあ様、度々ありがとうございます<(__)>

引用:

かるあさんの書き込み (2006-08-14 14:19) より:
引用:

glasscoさんの書き込み (2006-08-14 14:08) より:

これですと、page_loadイベントが走る度にconfirmが出てしまいますよね?
画面では他の処理も行っているので、
ボタンを押下したタイミングでのみ、確認ダイアログを出したいと思っています。


ですので必要なときだけ出力するために
RegisterStartupScript などで制御してあげればいいのでは?

もちろん、書き出したページを再読み込みすれば、
メッセージは表示されてしまいますが。。。



ご教示ありがとうございます、
確認メッセージをOnclickで出し、OKの場合のみ
サーバサイドの処理を行う。

処理の最後で
RegisterStartupScriptを使用し、
再度、別のメッセージを表示する事で実装は可能でした!
ありがとうございます。
ただ、メッセージの表示は出来るのですが、
ユーザが「はい」を押下した後にサーバ側で別のイベントを起こす事が出来ない現状です…

引用:

クライアントで処理するイベントはクライアントで受けてあげれば
いいのではないでしょうか?



すいません、ここの意味がいまいちわかりかねるのですが…
クライアントで受けるとはどのような意味でしょうか?

私の知識足らずで度々のご回答をしていただき、
大変もうしわけ無いのですが、
ご教示いただければと思います…
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-08-15 12:41
引用:

glasscoさんの書き込み (2006-08-14 22:04) より:

引用:

クライアントで処理するイベントはクライアントで受けてあげれば
いいのではないでしょうか?



すいません、ここの意味がいまいちわかりかねるのですが…
クライアントで受けるとはどのような意味でしょうか?


うーん、また言葉がいけない気がする。
クライアントスクリプトからサーバのイベントを直に呼ぶことは出来ないけれど、
コード:
<script type="text/javascript">
if (confirm('続行する?')) { 
    document.getElementById('Button2').click(); 
}
</script>


のようにボタンをクリックしたり、フォームをサブミットしたりして、
サーバ側に伝えることは出来ますよね。
glassco
会議室デビュー日: 2006/05/08
投稿数: 10
投稿日時: 2006-08-22 23:40
だいぶ返信が滞ってしまいました…
申し訳ございません。

かるあさまご教授ありがとうございます。
ご指摘の方法で希望の動作をかなえることが出来ました!!

こんなやり方があったんですね〜

助かりました。
ありがとうございます。

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