如何使用JavaScript验证GridView中的下拉列表

时间:2014-01-16 18:01:22

标签: c# javascript asp.net

我正在尝试在按钮点击时验证gridview内的下拉菜单。如果下拉列表没有选择,那么我想解雇javascript,但代码根本没有触发。我不知道我在这里做错了什么,所以请帮忙。谢谢。 这是aspx文件中的按钮代码:

<asp:Button ID="btnSubmit" runat="server" Text="Submit" Width="183px" Visible="true"
                onclick="btnSubmit_Click" 
                OnClientClick="return validate();" 
                Font-Bold="True" Font-Size="Medium" Height="30px" 
                style="margin-right: 1px; margin-left: 185px;" ForeColor="#336699" />

这是我页面的head部分中的javascript:

<script type="text/javascript">
          function validate() {
              var flag = true;
              var dropdowns = new Array(); //Create array to hold all the dropdown lists.
              var gridview = document.getElementById('<%=GridView1.ClientID%>'); //GridView1 is the id of ur gridview.
              dropdowns = gridview.getElementsByTagName('--'); //Get all dropdown lists contained in GridView1.
              for (var i = 0; i < dropdowns.length; i++) {
                  if (dropdowns.item(i).value == '--') //If dropdown has no selected value
                  {
                      flag = false;
                      break; //break the loop as there is no need to check further.
                  }
              }
              if (!flag) {
                  alert('Please select value in each dropdown');
              }
              return flag;
          }
</script>

这是我在aspx中的下拉列表:

<ItemTemplate>
  <asp:Label ID="lblAns" runat="server" Text='<%# Eval("DDL_ANS")%>' Visible="false"></asp:Label>
 <asp:DropDownList ID="ddl_Answer" runat="server" AutoPostBack="false">
  </asp:DropDownList>
 </ItemTemplate>

这是下拉列表背后的代码

 ddl_Answer.DataSource = cmd1.ExecuteReader();
                    ddl_Answer.DataTextField = "DD_ANSWER";
                    ddl_Answer.DataValueField = "DD_ANSWER";
                    ddl_Answer.DataBind();
ddl_Answer.Items.Insert(0, new ListItem("--"));

1 个答案:

答案 0 :(得分:2)

您是如何尝试使用javascript选择下拉列表的?你可能想要这个

dropdowns = gridview.getElementsByTagName('select');