18. december 2007 - 10:40Der er
4 kommentarer og 1 løsning
Validering af form
Hej!
Jeg har en kode, der validerer form input, men mangler en alert, der er afhængig af brugerens input/valg.
Brugeren skal vælge Yes eller No til RoomRequired. Ved Yes skal brugeres promptes for input af "Check-in date" (formfeltet hedder Checkin) og for input af "Check-out date" (formfeltet hedder Checkout). Desuden skal brugeren ved Yes vælge enten smoking eller non-smoking (RoomPreference), men den er lavet.
Jeg har prøvet forskellige ting, men scriptet virker ikke. Nogen, der kan hjælpe?
--- start på kode (forkortet) ---
} if(isAttending && !document.form.RoomRequired[0].checked && !document.form.RoomRequired[1].checked) { alert("Please select whether you need hotel room reservation. If yes, verify check-in and check-out dates referring to your arrival and departure."); return false; } if(isAttending && !document.form.RoomRequired[1].checked) { if(isAttending && !document.form.RoomPreference[0].checked && !document.form.RoomPreference[1].checked) { alert("Please select whether you have any room preferences (Smoking or Non-smoking)"); return false; } } if(isAttending && !document.form.DiateryRemarks[0].checked && !document.form.DiateryRemarks[1].checked) { alert("Please select whether you have any diatery preferences (Remarks). If yes, please type in your remarks (Text)."); return false; } return true; }
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Jeg får en return statement fejl på scriptet (Return statement outside of function) - som ses i sine fulde længde nedenfor.
// JavaScript Document function isFilled(element) { if(element.value=="") { return false; } else { return true; } } function isReady(form) { var isAttending = !form.Attending.checked; if(isFilled(form.Firstname)==false) { alert("Please fill in your First name"); form.Firstname.focus(); return false; } if(isFilled(form.Familyname)==false) { alert("Please fill in your Family Name"); form.Familyname.focus(); return false; } if(isFilled(form.Function)==false) { alert("Please fill in your Function"); form.Function.focus(); return false; } if(isFilled(form.Department)==false) { alert("Please fill in your Department"); form.Department.focus(); return false; } if(isFilled(form.Country)==false) { alert("Please fill in Nycomed country"); form.Country.focus(); return false; } if(isFilled(form.Mobilephone)==false) { alert("Please fill in your Mobile phone No. and include your country code, e.g. +45"); form.Mobilephone.focus(); return false; } if (!form.Email.value.match(/^.*@\w[\w\.-]*\.[a-z]{2,6}$/)) { alert("Invalid E-mail address! Please re-enter."); form.Email.focus(); return false; } if(isAttending && !document.form.RoomRequired[0].checked && !document.form.RoomRequired[1].checked) { alert("Please select whether you need hotel room reservation. If yes, verify check-in and check-out dates referring to your arrival and departure."); return false; } if(isAttending && !document.form.RoomRequired[1].checked) { if(!document.form.RoomPreference[0].checked && !document.form.RoomPreference[1].checked) { alert("Please select whether you have any room preferences (Smoking or Non-smoking)"); return false; } if(!isFilled(form.Checkin)) { alert("Checkin not filled"); form.Checkin.focus(); return false; } if(!isFilled(form.Checkout)) { alert("Checkout not filled"); form.Checkout.focus(); return false; } } if(isAttending && !document.form.RoomPreference[0].checked && !document.form.RoomPreference[1].checked) { alert("Please select whether you have any room preferences (Smoking or Non-smoking)"); return false; } } if(isAttending && !document.form.DiateryRemarks[0].checked && !document.form.DiateryRemarks[1].checked) { alert("Please select whether you have any diatery preferences (Remarks). If yes, please type in your remarks (Text)."); return false; } return true; }
FANTASTISK! Læg et svar og få en julegave, di8leva. Jeg har virkelig forsøgt denne gang, men det blev til for mange alerts med Object osv. Glædelig jul!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.