javascript
  • asp.net
  • 2016-12-29 5 views 2 likes 
    2

    クライアント側イベントOnClientClickingに引数を渡す際に問題があります。OnClientClickイベントでEval引数を指定してjavascript関数を呼び出す方法はありますか?

    私は評価引数を渡すたびに、ポストバックは私がOnClientClickコードで"return false;"を書いたにもかかわらず、何らかの理由があります:私は、私は同様ので見つかったいくつかのソリューションを含む、さまざまなことを試してみました

    OnClientClick='<%# "toggleContactDetails("+Eval("ItemId")+"); return false;" %>' 
    

    質問。

    は、私もこの試みた:

    OnClientClick='<%# string.Format("toggleContactDetails({0});return false;", Eval("ItemId"))%>' 
    

    または引用符で遊んで。何も動作しません。

    私はテストのために書いたので、機能はしても、実行されていない知っている:JavaScriptのファイルで

    function toggleContactDetails(itemId) { 
        confirm(itemId); 
    } 
    

    、およびメッセージは表示されません。

    お願いします。

    +0

    OnClientClick = 'toggleContactDetails( "+ <%= Eval(" ItemId ")%>"); "%>" –

    答えて

    2

    あなたは質問にこのサンプルを持っている:

    OnClientClick='<%# "toggleContactDetails("+Eval("ItemId")+"); return false;" %>' 
    
    これに伴う問題は、それがこのようなブラウザにレンダリングされていることである

    onclick="toggleContactDetails(Item Name 1); return false;" 
    

    これは壊れていますjavascript(引用符がない場合はItem Name 1)ボタンをクリックするとjavascriptが正しく実行されないため、return false;が実行されません。これは、postbackがトリガーされることを意味します。これが機能するためには、あなたがjavascript正しいレンダリングする必要があります。

    OnClientClick='<%# "toggleContactDetails(\"" + Eval("ItemId") + "\"); return false;" %>' 
    

    のみ関連する違いは、場所のカップルで\"あります。

    +0

    はい、うまくいきます! – cookya

    1

    javascript関数から値を返す必要があります。

    OnClientClick='<%# "return toggleContactDetails("+ Eval("ItemId")+ ");" %>' 
    

    Javascriptを:

    <script type="text/javascript"> 
        function toggleContactDetails(itemId) { 
         return confirm(itemId); 
        } 
    </script> 
    
    +0

    あなたはそれが規約であることを意味していますか?関数が実行されているかどうかをテストするために "確認"を使用しましたが(警告がうまくいくと思いますが)、使用したい関数はすべて。 – cookya

    +0

    ああ、 'confirm'から返されたブール値を必要としないなら、提供された答えuser1429080が意味をなさないでしょう。 – VDWWD

    関連する問題