2012-02-16 14 views
0

こんにちはすべて私は特有の問題があります。テストaspx(webform)では、私は以下を作成しました。 1つ目のチェックボックスがクリックされた場合は、2つ目のチェックボックスといくつかのjQueryを使用して2つ目のチェックボックスを非表示にします。次に、各チェックボックスの値をページにレンダリングして、それらがヌルであることを確認できるボタンを追加しました。このすべてが正常に動作します asp.netチェックボックスまたはテキストボックスからシンプルモードのウィンドウからサーバーに値を渡す際に問題が発生する

<form id="form1" runat="server"> 
<asp:ScriptManager ID="scriptManger1" runat="server"></asp:ScriptManager> 
<div id="cbHolder"> 
<asp:CheckBox Text="checkbox 1" ID="cb1" runat="server" /> 
<asp:CheckBox Text="checkbox 2" ID="cb2" runat="server" /> 
<asp:Button ID="checkBtn" runat="server" Text="get value" OnClick="checkBtn_Click" /> 
<br /> 
<asp:Label ID="lbl_Values" runat="server" /> 
</div> 
</form> 

分離コード

protected void checkBtn_Click(object sender, EventArgs e) 
     { 
      lbl_Values.Text = cb1.Checked.ToString() + cb2.Checked.ToString(); 
     } 

aspx.cs ASPX

<head runat="server"> 
    <script type="text/javascript" src="js/jquery-1.7.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('#cb2').hide(); 

      $('#cb1').click(function() { 

       if ($('#cb1').is(":checked")) { 
        $('#cb2').show('fast'); 
       } 
       else { 
        $('#cb2').hide(); 
        $('#cb2').removeAttr('checked'); 
       } 
      }); 
    }); 
</script> 
私は今、代わりにそれの私のプロジェクトにこの同じコンテンツを追加したが

コンテンツはSimpleModalウィンドウに表示されます。

のaspx

<div id="save-modal-content"> 
       <asp:Label ID="ssHeader" runat="server" Text="<%$ Resources:InformResources, SaveSearch_lbl %>" /> 
       <br /> 
       <div class="ssContainer"> 
        <div class="ssLabel"> 
         <asp:Label Text="<%$ Resources:InformResources, Name_lbl %>" runat="server" /></div> 
        <div> 
         <asp:TextBox CssClass="ssTextBox" ID="txt_ssname" runat="server" /></div> 
       </div> 
       <br /> 
       <div class="ssContainer"> 
        <div class="ssLabel"> 
         <asp:Label Text="<%$ Resources:InformResources, DescFull_lbl %>" runat="server" /></div> 
        <div> 
         <asp:TextBox CssClass="ssTextBox" ID="txt_ssDescription" runat="server" /></div> 
       </div> 
       <br /> 
       <div class="ssContainer"> 
        <div class="ssLabel"> 
         <asp:Label Text="<%$ Resources:InformResources, Query_lbl %>" runat="server" /></div> 
        <div> 
         <asp:TextBox CssClass="ssQueryBox" ID="txt_ssQueryText" runat="server" Rows="6" TextMode="MultiLine" /></div> 
       </div> 
       <hr class="invisiblehr" /> 
       <div id="cb1" class="cbHolder"> 
        <asp:CheckBox ID="cb_Notifiy" OnCheckedChanged="cb_click" runat="server" Text="I wish to receive notificaions on this search" /> 
       </div> 
       <br /> 
       <div id="cb2" class="cbHolder"> 
        <asp:CheckBox ID="cb_Email" runat="server" Text="I wish to receive notifications via email" /> 
       </div> 
       <hr class="invisiblehr" /> 
       <div class="saveButtonContainer"> 
        <asp:LinkButton ID="ssSaveButton" CssClass="advButtons" Text="Save" OnClick="ssSaveButton_Click" 
         runat="server" /> 
        <a href="#" id="ssCancelButton" class="advButtons">Cancel</a> 
       </div> 
      </div> 

JSが

public void ssSaveButton_Click(object sender, EventArgs e) 
     { 

      txt_ssname.Text = cb_Notifiy.Checked.ToString() + cb_Email.Checked.ToString(); 
      string foo = txt_ssname.Text.ToString(); 
     } 

// SimpleModal [名前を付けて保存]ダイアログシンプルなモーダルウィンドウを呼び出すためのコードの後ろに

$(function() { 

     $('#cb_Notifiy').click(function() { 

      if ($('#cb_Notifiy').is(":checked")) { 
       $('#cb2').show('fast'); 
      } 
      else { 
       $('#cb2').hide(); 
       $('#cb_Email').removeAttr('checked'); 
      } 
     }); 

とコードファイル$(関数(){ $( '#btnSave')をクリック(関数(E){

var searchtrm = $('#tbsearchterm').val(); 
    if (searchtrm == "Enter Search Term" || $.trim(searchtrm) === "") { 

     $('#alert-modal-content').modal({ overlayClose: false, close: false, containerId: 'alert-container' }); 
     $('<b>Whoops!</b><br/><br/><span>Before you can save your search you need to enter a search term or query.</span>').appendTo('#alertTerm'); 

    } 
    else { 
     $('#txt_ssQueryText').val(searchtrm); 
     $('#save-modal-content').modal({ overlayClose: false, close: false, containerId: 'saveSearch-container' }); 
    } 
}); 

})。

コードを変更するだけでなく、タグを変更することは比較的同じです。ただし、プロジェクト内で保存ボタンをクリックするたびにメソッドが呼び出されますが、すべての値(チェックボックス、テキストボックス)はnullです。

誰かが私がなぜ1つのプロジェクトでは動作しますが、他のプロジェクトでは動作しないのか理解できますか?事前

答えて

0

おかげで、箱から出して、短い簡単なモーダルで、私の質問here from a previous SO post

への答えを発見した文書の本文にコンテンツを追加します。これは要素が見つからない理由であるフォームタグの外側です。シンプルなモーダルは、asp.netのappendTo: 'form'を使用するappendToというプロパティ呼び出しを提供します。このタグを追加することで、プロパティとコードの後ろに呼び出しを行うことができます。

ありがとうございました

関連する問題