1

私の友人は、カスタムコントロールのコーディングの下で​​これを行いました

<a href="javascript:__doPostBack('id','msg');">click</a>

このアンカーリンクをクリックしている間、確認ダイアログボックスを表示したいと思います。

出来ますか?。スクリプトをインラインで書きたい。

4

3 に答える 3

3

これを行う :

<a href="javascript:if (window.confirm('Really?')){__doPostBack('id','msg');};">click</a>

しかし、ある時点で、インラインコードのみの使用をやめ、コードにjavascriptを追加する他のより明確な方法を検討したいと思うでしょう。

HTMLファイルのHEADで次のようなスクリプトブロックを使用できます。

<script>
    function doOnClick(){
       if (window.confirm('Really?')){
           __doPostBack('id','msg');
       };
    }
</script>

そして、あなたのリンクは

<a href="javascript:doOnClick();">click</a>

もちろん、これは1つの関数だけではそれほど単純ではありませんが、すべての関数を同じ場所に配置し、HTMLをより明るく明確にするのに役立ちます。


別の方法は、 jQueryを使用することです。これにより、html部分にjavascriptを配置することを完全に回避できます。

htmlはその後です

<a id=myLink>click</a>

そして、あなたのスクリプトは、今では本文の最後にありますが、これは次のとおりです。

<script>
   $(document).ready(function(){
       $('#myLink').click(function(){
           if (window.confirm('Really?')){
               __doPostBack('id','msg');
           };
       });

       // other codes will come here
   });
</script>

関数が非常に軽いため、この方法でコーディングする必要はまったくありませんが、コードが大きくなった場合は、検討を開始してjqueryチュートリアルを確認することをお勧めします。

于 2012-06-21T09:28:04.777 に答える
1

もちろん。これは小さなスニペットで、エレガントではありませんが、機能します...

<a href="javascript:if(confirm('Do you really want to post?')) {__doPostBack('id','msg');};">click</a>
于 2012-06-21T09:28:52.590 に答える
1

を使用していないためconfirm、実際にこれを調べなければなりませんでした。alertprompt

confirmユーザーが選択した内容に応じて true/false を返します (それぞれ OK/キャンセル)。

したがって、結果のコードは次のようになります

<a href="javascript:if (confirm('Are you sure?')) __doPostBack('id','msg');">click</a>
于 2012-06-21T09:30:36.663 に答える