2016-08-22 22 views
0

document.getElementByIdメソッドを使用して、ListView内のラジオボタンがチェックされているかどうかを確認しようとしました。私が実際にラジオボタンの1つをチェックしたにもかかわらず、そのチェックの結果は「不定」の値です。私は、ID名にループのインデックスを追加するIDを持つループでこれをやっています。ラジオボタンがチェックされているかどうかを確認することができません

この問題に関連するコードは次のとおりです。

<script type="text/javascript" > 
function AllPickEmGamesSelected(visible) 
{ 
    var i; 
    for (i=0; i<16; i++) 
    { 
     var HomeTeamVerif = document.getElementById("FeaturedContent_ListViewPickEm_RadioButtonHome_" + i).Checked; 
     var AwayTeamVerif = document.getElementById("FeaturedContent_ListViewPickEm_RadioButtonAway_" + i).Checked; 
     if (!HomeTeamVerif & !AwayTeamVerif) 
     { 
      visible = true;   
     } 
    } 
} 

: 
: 
: 

ASPXファイル:

<asp:ListView ID="ListViewPickEm" runat="server"> 
<AlternatingItemTemplate> 
    <tr style="color: white; background-color: forestgreen; border: groove; width: 100%;"> 
     <td style="float:left;"> 
      <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
     </td> 
      <asp:HiddenField ID="GameID" Value=<%# Eval("GameID") %> runat="server" /> 
     <td> 
      <asp:Label ID="HomeTeamNameLabel" runat="server" Text='<%# Eval("HomeTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="HomeID" Value=<%# Eval("HomeTeamID") %> runat="server" /> 
      <asp:RadioButton ID="RadioButtonHome" Checked="false" runat="server" GroupName="GameChoice" /> 
     </td> 
     <td> 
      <asp:Label ID="AwayTeamNameLabel" runat="server" Text='<%# Eval("AwayTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="AwayID" Value=<%# Eval("AwayTeamID") %> runat="server" /> 
      <asp:RadioButton ID="RadioButtonAway" Checked="false" runat="server" GroupName="GameChoice" /> 
     </td> 
    </tr> 
</AlternatingItemTemplate> 
<EmptyDataTemplate> 
    <table id="Table1" runat="server" style=""> 
     <tr> 
      <td>No data was returned.</td> 
     </tr> 
    </table> 
</EmptyDataTemplate> 
<ItemTemplate> 
    <tr style="color: white; background-color: darkgreen; border: groove; width:100%;"> 
     <td style="float:left;"> 
      <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
     </td> 
      <asp:HiddenField ID="GameID" Value=<%# Eval("GameID") %> runat="server" /> 
     <td> 
      <asp:Label ID="HomeTeamNameLabel" runat="server" Text='<%# Eval("HomeTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="HomeID" Value=<%# Eval("HomeTeamID") %> runat="server" /> 
      <asp:RadioButton ID="RadioButtonHome" Checked="false" runat="server" GroupName="GameChoice" /> 
     </td> 
     <td> 
      <asp:Label ID="AwayTeamNameLabel" runat="server" Text='<%# Eval("AwayTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="AwayID" Value=<%# Eval("AwayTeamID") %> runat="server" /> 
      <asp:RadioButton ID="RadioButtonAway" Checked="false" runat="server" GroupName="GameChoice" /> 
     </td> 
    </tr> 
</ItemTemplate> 
<LayoutTemplate> 
    <table id="Table2" runat="server"> 
     <tr> 
      <td id="Td1" runat="server"> 
       <table id="itemPlaceholderContainer" runat="server" border="0" style=""> 
        <tr id="Tr1" runat="server"> 
         <th id="Th1" runat="server">Date</th> 
         <th style="float: right;" id="Th2" runat="server">Home Team</th> 
         <th id="Th3" runat="server"></th> 
         <th style="float:right;" id="Th4" runat="server">Away Team</th> 
         <th id="Th5" runat="server"></th> 
        </tr> 
        <tr id="itemPlaceholder" runat="server"> 
        </tr> 
       </table> 
      </td> 
     </tr> 
     <tr id="Tr2" runat="server"> 
      <td id="Td2" runat="server" style=""></td> 
     </tr> 
    </table> 
</LayoutTemplate> 
<SelectedItemTemplate> 
    <tr> 
     <td style="float:left;"> 
      <asp:Label ID="DateLabel" runat="server" Text='<%# Eval("Date") %>' /> 
     </td> 
      <asp:HiddenField ID="GameID" Value=<%# Eval("GameID") %> runat="server" /> 
     <td> 
      <asp:Label ID="HomeTeamNameLabel" runat="server" Text='<%# Eval("HomeTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="HomeIDvalue" Value=<%# Eval("HomeTeamID") %> runat="server" /> 
      <asp:RadioButton ID="RadioButtonHome" Checked="false" runat="server" /> 
     </td> 
     <td> 
      <asp:Label ID="AwayTeamNameLabel" runat="server" Text='<%# Eval("AwayTeamName") %>' /> 
     </td> 
     <td> 
      <asp:HiddenField ID="AwayIDvalue" Value=<%# Eval("AwayTeamID") %> runat="server" /> 
       <asp:RadioButton ID="RadioButtonAway" Checked="false" runat="server" /> 
     </td> 
    </tr> 
</SelectedItemTemplate> 
</asp:ListView> 

C#ファイル:

protected void onPickEmSubmit(object sender, EventArgs e) 
{ 
    //  Will ensure deadline time has not passed 
    string dateTime = "08/25/2016 13:00:00.00"; 
    DateTime CutoffDate = Convert.ToDateTime(dateTime); 
    DateTime localDate = DateTime.Now; 
    if (localDate > CutoffDate) 
    { 
     // if deadline has passed, will send error message 
     Overdue.Visible = true; 
    } 
    else 
    { 
     //  Will ensure all games were picked 
     //   else send an error message back 
     Boolean visible = false; 
     ScriptManager.RegisterStartupScript((Page)this, base.GetType(), "AllPickEmGamesSelected" + DateTime.Now, 
                string.Format("AllPickEmGamesSelected('{0}');", visible), true); 
     NotAllPicked.Visible = visible; 
    } 
} 
+0

CとC#は異なる言語であり、異なるタグを持っています。タグC#を追加してCタグを削除してください。とにかく、適切なタグがあれば、あなたの質問に答えて知識を持つ人を引き付ける可能性が高くなります。 :-) – iRove

+0

ありがとうございます。不注意なタイプミス、しかし貴重なキャッチ。 – MDDeVane

答えて

1

あなたはこの問題を解決する方法唯一の小さなtyですpo。 JavaScriptは大文字と小文字を区別する言語なので、Checkedcheckedに変更する必要があります。最終的なJSコードは次のようになります:

function AllPickEmGamesSelected(visible) 
{ 
    var i; 
    for (i=0; i<16; i++) 
    { 
     var HomeTeamVerif = document.getElementById("FeaturedContent_ListViewPickEm_RadioButtonHome_" + i).checked; 
     var AwayTeamVerif = document.getElementById("FeaturedContent_ListViewPickEm_RadioButtonAway_" + i).checked; 
     if (!HomeTeamVerif & !AwayTeamVerif) 
     { 
      visible = true;   
     } 
    } 
} 

申し訳ありませんが、私はこのコードをチェックしませんでした。 ;)

+0

値が未定義から偽に変更されたことがわかったので、それは道をさらに遅くしてしまった。今問題は、ボタンの1つが実際にクリックされたことです。だから、送信ボタンをクリックしたときに値が実際に変更されたかどうかを確認しようとしています。このコードは、直前のaspxコードの下にあり、それは次のとおりです。 – MDDeVane

+0

- :SqlDataSourceコントロールID = "PickEmGames" にrunat = "サーバー" のConnectionString = "< MDDeVane

+0

@MDDeVaneこれはすばらしいグーグル検索です。フォームを送信したいので、「カスタムフォーム検証HTML」を検索する必要があります。私はaspxについてよく知らないので、答えにあなたを導く方法について私は最善を尽くしました。 :) がんばろう! – ProgramFast

関連する問題