Avatar billede ravnkilde Nybegynder
08. januar 2008 - 16:00 Der er 4 kommentarer og
1 løsning

Validering af form input

Hej!

Jeg har lidt bøvl med noget validering af en form. Nederst mit script, der validerer formen.

Jeg har forsøgt at indsætte en ny regel øverst, der skal validere om brugeren har valgt "Session" (det skal brugeren dog kun promptes for, hvis Attending boksen ikke er checked. De nederste felter fungerer fint med validering efter samme princip med kun at checke, hvis ikke attending-boksen er checked (brugeren siger faktisk nej til deltagelse, ved at klikke i boksen - lidt forvirrende måske).

Dette er den gl. script-kode, der fungerer uden Attending:
if(form.Session.value == "") {
    alert("Please select your preferred session dates");
    form.Session.focus();
    return false;

Men jeg kan ikke "Session" til at virke i nedenstående script.
Nogen, der gider hjælpe? Pft.


--- start kode med attending check---

// JavaScript Document
function isFilled(element)
{
    if(element.value=="")
    {
        return false;
    }
    else
    {
        return true;
    }
}
function isReady(form)
{
    var isAttending = !form.Attending.checked;
    if(isAttending && !document.form.Session.value == "") {
    alert("Please select your preferred session dates");
    form.Session.focus();
    return false;
    }
    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.");
    return false;
    }
  if(isAttending && !document.form.RoomRequired[1].checked)
{
  if(!isFilled(form.firstinput))
    {
        alert("Please fill in Check-in date - and verify date referring to your arrival.");
        form.firstinput.focus();
        return false;
    }
    if(!isFilled(form.secondinput))
    {
        alert("Please fill in Check-out date - and verify date referring to your departure.");
        form.secondinput.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)");
    return false;
    }
    if(isAttending && !document.form.DiateryRemarks[1].checked)
{
  if(!isFilled(form.DiateryPreferences))
    {
        alert("Please fill in your Diatery Preferences");
        form.DiateryPreferences.focus();
        return false;
    }
    }
    return true;
}

--- kode stop ---
Avatar billede roenving Novice
08. januar 2008 - 17:44 #1
Er det ikke:

function isReady(form)
{
    if(!form.Attending.checked && document.form.Session.value == "") {
    alert("Please select your preferred session dates");
    form.Session.focus();
    return false;
    }
Avatar billede roenving Novice
08. januar 2008 - 17:44 #2
...
Avatar billede ravnkilde Nybegynder
09. januar 2008 - 10:31 #3
det virker. smid et svar, roenving.
Avatar billede roenving Novice
09. januar 2008 - 16:13 #4
Velbekomme '-)
Avatar billede roenving Novice
09. januar 2008 - 16:15 #5
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester