2016-09-28 8 views
0

次のコードを使用して、ASP.NET Webアプリケーションでスクロールするdivを作成しています。フォーム内のアイテムをクリックするとスクロールの動きを止める方法

<div id="my_scroll_form" style="overflow:auto; height:500px"> 
    //My large form goes here (contains radio buttons and check boxes) 
</div> 

しかし、私は、下にスクロールし、任意のラジオボタンやチェックボックスをクリックすると、スクロールがトップになり、私は再びスクロールダウンする必要があります。これは、フォーム上の何かをクリックするたびに発生します。私はフォームと対話するたびに、それを停止し、スクロールをデフォルトのトップポジションに移動させない方法はありますか?

<div id="request_scroll" style="overflow:auto; height:100px"> 
 
    <input type="radio" name="select" value="option1" /> Option 1 <br /> 
 
    <input type="radio" name="select" value="option2" /> Option 2 <br /> 
 
    <input type="radio" name="select" value="option3" /> Option 3 <br /> 
 
    <input type="radio" name="select" value="option4" /> Option 4 <br /> 
 
    <input type="radio" name="select" value="option5" /> Option 5 <br /> 
 
    <input type="radio" name="select" value="option6" /> Option 6 <br /> 
 
    <input type="radio" name="select" value="option7" /> Option 7 <br /> 
 
    <input type="radio" name="select" value="option8" /> Option 8 <br /> 
 
    <input type="radio" name="select" value="option9" /> Option 9 <br /> 
 
    <input type="radio" name="select" value="option10" /> Option 10 <br /> 
 
</div>

上記iのラジオボタンをクリックすると文句を言わないリセットHTMLでの作業スニペットが、ここスクロールです。私の場合、<asp:RadioButtonList>とASP.NET Webフォームを使用し、私のバックエンドコードはC#で、このラジオボタンリストのOnSelectedIndexChangedイベントを処理します。ここで、ASP.NETフォームのラジオボタンをクリックすると、スクロールが一番上に戻ります。

+0

あなたは、実行可能デモ/スニペットまたは[JSFiddle](https://jsfiddle.net/)を共有することはできますか? [最小限で完全で検証可能なexample_を作成する](http://stackoverflow.com/help/mcve) – Rayon

+0

javascript [Event Preventdefault](http://www.w3schools.com/jquery/)を使用してクリックを防止できます。 event_preventdefault.asp) –

+0

質問を編集しました –

答えて

0

このコードを使用してください。

Javascriptコード:

<script type="text/javascript"> 
     window.onload = function() { 
      var div = document.getElementById("request_scroll"); 
      var div_position = document.getElementById("div_position"); 
      var position = parseInt('<%=Request.Form["div_position"] %>'); 
      if (isNaN(position)) { 
       position = 0; 
      } 
      div.scrollTop = position; 
      div.onscroll = function() { 
      div_position.value = div.scrollTop; 
     }; 
     }; 
</script> 

Asp.Netコード:

<div id="my_scroll_form" style="overflow:auto; height:500px;text-align:center"> 
      <asp:Label ID="Label1" runat="server" Text=""></asp:Label> 
      <div id="request_scroll" style="overflow-y:scroll; height:100px;"> 

        <asp:RadioButton ID="RadioButton1" runat="server" GroupName="lbl" Text="radio1" AutoPostBack="true" OnCheckedChanged="RadioButton1_CheckedChanged" /><br /> 
          <asp:RadioButton ID="RadioButton2" runat="server" GroupName="lbl" Text="radio2" AutoPostBack="true" OnCheckedChanged="RadioButton2_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton8" runat="server" GroupName="lbl" Text="radio3" AutoPostBack="true" OnCheckedChanged="RadioButton8_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton7" runat="server" GroupName="lbl" Text="radio4" AutoPostBack="true" OnCheckedChanged="RadioButton7_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton6" runat="server" GroupName="lbl" Text="radio5" AutoPostBack="true" OnCheckedChanged="RadioButton6_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton5" runat="server" GroupName="lbl" Text="radio6" AutoPostBack="true" OnCheckedChanged="RadioButton5_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton9" runat="server" GroupName="lbl" Text="radio7" AutoPostBack="true" OnCheckedChanged="RadioButton9_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton4" runat="server" GroupName="lbl" Text="radio8" AutoPostBack="true" OnCheckedChanged="RadioButton4_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton3" runat="server" GroupName="lbl" Text="radio9" AutoPostBack="true" OnCheckedChanged="RadioButton3_CheckedChanged"/><br /> 
          <asp:RadioButton ID="RadioButton10" runat="server" GroupName="lbl" Text="radio10" AutoPostBack="true" OnCheckedChanged="RadioButton10_CheckedChanged"/><br />   

      </div> 
     </div> 
     <input type="hidden" id="div_position" name="div_position" /> 
関連する問題