人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptについて質問です。

<input type="button" id="Button1" onclick="javascript:confirm('よろしいですか?');__doPostBack('Button1','')" />

のような記述をして、「よろしいですか?」のダイアログでOKをクリック
したときのみ後の__doPostBackを走らせるようにしたいです。
しかしこれだとOKでもキャンセルでも__doPostBackが走ってしまいました。

そこで、
javascript:return confirm('よろしいですか?');__doPostBack('Button1','')
を試したのですが、今度はOKでもキャンセルでも__doPostBackが走らなくなってしました。

どのようにしたら、OKをクリックしたときのみ__doPostBackを走らせることができるでしょうか。

ちなみに__doPostBackはASP.NETにより自動的に処理です。

●質問者: html1983
●カテゴリ:コンピュータ インターネット
✍キーワード:ASP.NET JavaScript キャンセル クリック ダイアログ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● amachang
●32ポイント

http://d.hatean.ne.jp/amachang/

(URL はダミーです)

onclick="javascript:confirm('よろしいですか?')&&__doPostBack('Button1','')"

でどうでしょうか><?

◎質問者からの返答

いつもIT戦記、拝見しております。

説明がたりず申し訳ありません。

追加で説明させていただきます。

「;__doPostBack('Button1','')」がASP.NETにより追加される部分です。

「;」のところまでいじれないので、この方法はできなかったです。

具体的にはASP.NET の Buttonコントロールに「OnClientClick」というプロパティがあって

このプロパティにJavaScriptを書くと HTML生成時には<input>タグのonclick属性に変換されます。

そしてonclick属性の最後に「;__doPostBack('Button1','')」が追加されます。

[ASP.NET]

<asp:Button ID="Button1" OnClientClick='confirm("よろしいですか?")' runat="server" Text="Button" UseSubmitBehavior="False" />

[HTML]

<input type="button" name="Button1" value="Button" onclick="confirm("よろしいですか?");__doPostBack('Button1','')" id="Button1" />


2 ● Mook
●38ポイント

最初に条件は提示されたほうがよいと思いますが、下記のようなサンプルは参考になるでしょうか。

<HTML>
<HEAD>
<SCRIPT TYPE="text/javascript">
function myFunc(){
alert("ひっかかった!!!");
}
</SCRIPT>
</HEAD>
<BODY>
 <INPUT TYPE="button" VALUE="押してみて" ID="Button1" onclick="if (!confirm('本当にいいの?') ) return; myFunc();" />
</BODY>
</HTML>

つまり、追記するのは

OnClientClick="if (!confirm('本当にいいの?') ) return"

の部分です。

http://www.tagindex.com/javascript/window/confirm.html

◎質問者からの返答

この方法でいけました。ありがとうございます!

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ