我有一个经典的asp页面,其中我将有一个新的下拉列表。如果新的下拉列表符合特定条件,则只会在页面上显示。我需要添加一个验证,以便用户在能够提交页面之前在页面上显示时都需要选择下拉列表,并且每当下拉列表没有出现在页面上时都不需要验证
我在验证部分遇到了麻烦
下面是我在下拉列表的经典asp页面上的代码
<select id= "BatchElement<%=vRptCount%>" name="BatchElement<%=vRptCount%>" <%if SR("rptdesc1") = "N" then response.write " style='Display:none' " %> >
<option value=0 selected>--------------------Select--------------------</option>
<option value="Deidentified" <%if SR("BatchElement") = "Deidentified" then%> selected<%end if%>>Deidentified</option>
<option value="Identified" <%if SR("BatchElement") = "Identified" then%>selected<%end if%>>Identified</option>
</select>
JavaScript代码
vBatchElement = "BatchElement" + vReportCounts
if(document.all(vBatchElement).value==0) {
alert("Please Select BatchElement from the dropdown value for "+vReportCounts);
return false;
使用Above Javascript,即使dropdwon没有出现在页面上,验证似乎也能正常工作。如何进行验证工作,使其仅在页面上显示下拉列表时验证
答案 0 :(得分:1)
您的控件是一个下拉列表,因此您不应该尝试访问控件的“值”,您应该访问所选索引的值(当根据所选的特定值进行验证时)或者只是控件的选定索引(如果你所有的话)关心的是选择了第一项以外的东西。
我不确定你是如何启动JS调用的,或者你如何将你的asp变量“vRptCount”作为“vReportCounts”添加到你的javascript函数中,但假设这一切都正确发生,可能更像这样:< / p>
vBatchElement = "BatchElement" + vReportsCounts;
var ddl = document.getElementByID(vBatchElement);
if(ddl) {
if(ddl.selectedIndex == 0)){
alert('Please select BatchElement from the dropdown value for ' + vReportCounts);
return(false);
}