2016-08-22 49 views
0

我試圖使用document.getElementById方法來確定ListView中的單選按鈕是否已被選中。該檢查的結果是「未確定」的值,雖然我實際上已經檢查了其中一個單選按鈕。我在循環中使用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

你解決這個問題的方法只是一個小小的問題婆。由於JavaScript是區分大小寫的語言,因此您需要將Checked更改爲checked。所以,你的最終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

當我發現數值從未定義變爲錯誤時,這讓我走得更遠。現在,問題是其中一個按鈕實際上被點擊了。所以,當我點擊提交按鈕時,我試圖確定這個值是否真的改變了。該代碼是略低於之前的ASPX代碼,並如下: – MDDeVane

+0

- 的:SqlDataSource的ID = 「PickEmGames」 RUNAT = 「服務器」 的ConnectionString =「< %$ ConnectionStrings:FollowingHSFootballConnectionString%>「SelectCommand =」GetWeeklyGames「SelectCommandType =」StoredProcedure「> MDDeVane

+0

@MDDeVane你可以通過快速的谷歌搜索找到這個。看起來你想提交一個表單,所以你應該搜索「自定義表單驗證html」。我對aspx瞭解不多,所以我已經盡力瞭解如何才能讓你找到答案。 :) 祝你好運! – ProgramFast