2010-09-16 53 views
0

可能重复:
javascript drop down loop if statementJavaScript的下拉循环if语句

我已经建立2下拉菜单,从而至,其中包括来自8> 22:00开始时间,然而,在提交表格时,它要求我选择一个已经被选中的开始时间,并且通过我已经包含的提醒选项进行确认,这让我非常困惑!任何帮助赞赏。

克雷格

window.status='Loading contingency scripts - please wait...'; 
audit('Loading contingency scripts'); 
var conting={ i:0 

,start:function(){ 
window.status='Loading form - please wait...'; 
var t=''; 
t+='<form name="frm_conting" id="frm_conting" onsubmit="return false;">'; 
t+='<table width="100%" cellspacing="1" cellpadding="0">'; 
t+='<tr><td>Date (DD/MM/YY):</td><td><input type="text" size="8" value="'+current_date+'" id="date"></td></tr>'; 

t+='<tr><td>Time Started:</td><td><select id="timefrom"><option></option>'; 
    for(h=8;h<23;h++){ 
     for(m=0;m<46;m=m+15){ t+='<option value='+nb[h]+':'+nb[m]+'>'+nb[h]+':'+nb[m]+'</option>'; }; 
    }; 
t+='</select></td></tr>'; 

t+='<tr><td>Time Finished:</td><td><select id="timefrom"><option></option>'; 
    for(h=8;h<23;h++){ 
    for(m=0;m<46;m=m+15){ t+='<option value='+nb[h]+':'+nb[m]+'>'+nb[h]+':'+nb[m]+'</option>'; }; 
    }; 

t+='</select><tr><td>Extension #:</td><td><input type="text" size="5" value="'+my.extension+'" id="staffid"></td></tr>'; 
t+='<tr><td>Desk ID:</td><td><input type="text" size="5" value='+my.deskid+' id="desk"></td></tr>'; 
t+='<tr><td>Number of calls:</td><td><input type="text" size="5" id="calls"></td></tr>'; 
t+='<tr><td>Avid ID:</td><td><input type="text" size="5" id="avid"></td></tr>'; 
t+='<tr><td><input type="button" value="Submit" onClick="conting.save()"></td>'; 
t+='</table>'; 
t+='</form>'; 

div_form.innerHTML=t; 
window.resizeTo(400,385); 
window.status=''; 
} 


,save:function(){ 
alert (frm_conting.timefrom.value); 
    var conting_date=frm_conting.date.value; 
    if(!isdate(conting_date)){alert("You have entered an incorrect date.");return false;}; 

var conting_timefrom=frm_conting.timefrom.value; 
if(isNaN(conting_timefrom)){alert("You need to enter a starting time.");return false;}; 
if(conting_timefrom.value>conting_timeto.value){alert("The time you have entered is after the finish time.");return false;}; 

var conting_timeto=frm_conting.timeto.value; 
if(isNaN(conting_timeto)){alert("You need to enter a finishing time.");return false;}; 
if(conting_timeto.value<conting_timefrom.value){alert("The time you have entered is after the finish time.");return false;}; 

var conting_staffid=frm_conting.staffid.value; 
if(conting_staffid.length!=5) { alert("You have entered an incorrect extension number.");return false;}; 

var conting_desk=frm_conting.desk.value; 
if(conting_desk.length!=5) { alert("You have entered an incorrect desk ID.");return false;}; 

var conting_calls=frm_conting.calls.value; 
if(isNaN(conting_calls)){alert("You have not entered amount of calls.");return false;}; 

var conting_avid=frm_conting.avid.value; 
if(isNaN(conting_avid)){alert("You have entered an incorrect avid ID.");return false;}; 
if(conting_avid.length!=5) { alert("You have entered an incorrect avid ID.");return false;}; 

conn.open(db["contingency"]); 
rs.open("SELECT MAX(prac_id) FROM practice",conn); 
var prac_id=rs.fields(0).value+1; 
rs.close(); 
rs.open("INSERT INTO practice (prac_id, prac_staffid, prac_date, prac_timefrom, prac_timeto, prac_extension, prac_desk, prac_calls, prac_avid) VALUES (1, 2, 3, 4, 5, 6, 7, 8, 9)",conn); 
conn.close(); 



} 


}; 
window.status=''; 

enter code here 
+0

您可以编辑您的原始问题(我已经完成),而不是发布重复。 – 2010-09-16 13:39:10

回答

0
t+='<option value='+nb[h]+':'+nb[m]+'>'+nb[h]+':'+nb[m]+'</option>' 

JS的节省每当值不是数字(isNaN)例程将失败。值中有一个冒号,因此它从来不是一个数字。您不需要检查isNaN,因为它是一个下拉菜单,所以您可以控制输入的内容,而不像文本框,您可以使用isNaN来确保用户输入的是数字。

+0

好的有趣的一点。我如何做到这一点,所以开始时间总是在结束时间之前呢? – craigg 2010-09-16 13:44:45