2009-06-18 13 views
0

私たちのasp.netプロジェクトではYUIライブラリを使用しています。私はasp.netのautopostbackドロップダウンリストを持っています。このリストはYUIのドロップダウンリストに以下のコードで変換されています。ユーザーがドロップダウンリストから値を選択すると、ページがポストバックされ、SelectedGroupChangedイベントが発生しますが、その前に確認ダイアログボックスは表示されません。私はここで間違っていますか?YUIライブラリとasp.net autopostbackドロップダウンリストの問題

コード:

<asp:Button id="Groups" Enabled="false" runat="server" /> 
<asp:DropDownList ID="groupsDropDownList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="SelectedGroupChanged" /> 

<script language="javascript" type="text/javascript"> 

var YUIGroupsDrpDown; 

<%if (Groups.Visible) 

{ %> 
    YUIGroupsDrpDown = new YAHOO.widget.Button("<%=Groups.ClientID %>",{type:"menu", menu: "<%=groupsDropDownList.ClientID %>"}); 
    YUIGroupsDrpDown.set("label", "<%=groupsDropDownList.SelectedItem.Text%>"); 
    YUIGroupsDrpDown.getMenu().subscribe("click",onGroupsChange); 
    YUIGroupsDrpDown.on("click", {fn: TakeActions, obj: 'M'}); 
<%} %> 

function onGroupsChange() 
{ 

    YUIGroupsDrpDown.set("label", YUIGroupsDrpDown.getMenu().activeItem.srcElement.text); 

} 


function TakeActions(event, action) 

{ 
    var message = 'some message' 
     if (window.confirm(strMsg) != 1) 
      return false; 
     else 
      return true; 

} 

答えて

0

は、最後に私は答えを見つけました。実際には、YUIはautopostbackドロップダウンリストのフォームに独自のsubmitイベントを配線しています。したがって、ユーザーが自分の行動をキャンセルすることを選択した場合、これらのYUIイベントを防止する必要があります。だから、これを行うために、ここで私はYUIの例のページから得たコードは次のとおりです。これはasp.netでクライアント側の確認メッセージでのAutoPostBackドロップダウンリストを使用している誰にも役立ちます

var onExampleSubmit = function(p_oEvent) { 

      var bSubmit = 
        window.confirm("Are you sure you want to submit?") 

      if(!bSubmit) { 
       YAHOO.util.Event.preventDefault(p_oEvent); 
      } 

     }; 

     YAHOO.util.Event.on(pageForm, "submit", onExampleSubmit); 

ホープ。

関連する問題