Avatar billede joch Nybegynder
20. oktober 2003 - 11:14 Der er 10 kommentarer og
1 løsning

Optimering af validate

Jeg har lavet en validate på min productInfo, men den har forskelligt navn efter hvilken kategori den er i - som ses herunder...

if (Form.Kategori.value == "1") {
    if (Form.productInfo1.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo1.focus();
    return (false);
    }
}
if (Form.Kategori.value == "2") {
    if (Form.productInfo2.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo2.focus();
    return (false);
    }
}
------------------------
Jeg kunne godt tænke mig at den kun fyldte én funktion, for jeg har op til productInfo5

altså noget der ligner...

if (Form.productInfo[Form.Kategori.value].value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo[Form.Kategori.value].focus();
    return (false);
    }

... Hvordan gør man det?
Avatar billede mm12010 Nybegynder
20. oktober 2003 - 11:17 #1
må vi se din formular?
Avatar billede joch Nybegynder
20. oktober 2003 - 11:26 #2
Den er som overstående...

function validate(Form) {

if (Form.Place.value == "")
  {
    alert("Du mangler vælge område");
    Form.Place.focus();
    return (false);
  }

if (Form.Kategori.value == "")
  {
    alert("Du mangler at vælge kategori");
    Form.Kategori.focus();
    return (false);
  }


if (Form.Kategori.value == "1") {
    if (Form.productInfo1.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo1.focus();
    return (false);
    }
}
if (Form.Kategori.value == "2") {
    if (Form.productInfo2.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo2.focus();
    return (false);
    }
}
Avatar billede olebole Juniormester
20. oktober 2003 - 12:17 #3
<ole>

... og vi prøver én gang til for Prins Knud:
  "må vi se din formular?"  :)

/mvh
</bole>
Avatar billede joch Nybegynder
20. oktober 2003 - 12:42 #4
Hvis i vil se hele min include fil, så ok :)

<script language="JavaScript"><!--
function validate(Form) {

if (Form.Place.value == "")
  {
    alert("Du mangler vælge område");
    Form.Place.focus();
    return (false);
  }

if (Form.Kategori.value == "")
  {
    alert("Du mangler at vælge kategori");
    Form.Kategori.focus();
    return (false);
  }


if (Form.Kategori.value == "1") {
    if (Form.productInfo1.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo1.focus();
    return (false);
    }
}
if (Form.Kategori.value == "2") {
    if (Form.productInfo2.value == "")
    {
    alert("Du mangler at vælge type");
    Form.productInfo2.focus();
    return (false);
    }
}

return (true);
  }


function VisType() {
    if (Form.Kategori.value == "1") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo1><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf8189e12,1%3A57%3A91f7baf8ec2ddf7f66d90>Campingpladser</option><option value=1%3A72%3A91f7baf8ec2ddf83cbebc,1%3A57%3A91f7baf8ec2ddf831fe94>Feriehusudlejere</option><option value=1%3A72%3A91f7baf8ec2ddf85dff2f,1%3A57%3A91f7baf8ec2ddf83dbec6>Hoteller & kroer</option><option value=1%3A72%3Aac100040f28f5076f73b79,1%3A57%3Aac100040f28fe7bc2e47ff>Feriecentre</option><option value=1%3A72%3A91f7baf8ec2ddf927111d1,1%3A57%3A91f7baf8ec2ddf9158118e>Vandrerhjem</option><option value=1%3A72%3Aac100040f014a621792b6f,1%3A57%3Aac100040f1111e346bedf5>Lejrskoler & hytter</option><option value=1%3A72%3Aac100040ed24ee74795ebf,1%3A57%3Aac100040ed254cb4a38121>Naturlejrpladser</option><option value=1%3A72%3A91f7baf8ec2ddf831fe86,1%3A57%3A91f7baf8ec2ddf81e7e3c>Privat overnatning</option></select>';
    }

    if (Form.Kategori.value == "2") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo2><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf8736f96,1%3A57%3A91f7baf8ec2ddf86f8f86>Bygningsværker</option><option value=1%3A72%3A91f7baf8ec2ddf8c0910a9,1%3A57%3A91f7baf8ec2ddf8b2e1074>Forlystelsesparker</option><option value=1%3A72%3A91f7baf8ec2ddf909d1158,1%3A57%3A91f7baf8ec2ddf8e3b1148>Gallerier & kunst-håndværkere</option><option value=1%3A72%3A91f7baf8ec2ddf86e8f82,1%3A57%3A91f7baf8ec2ddf86aaf71>Haver og parker</option><option value=1%3A72%3A91f7baf8ec2ddf8c5710c4,1%3A57%3A91f7baf8ec2ddf8c1810b4>Kirker og klostre</option><option value=1%3A72%3A91f7baf8ec2ddf8c9510d8,1%3A57%3A91f7baf8ec2ddf8c5710c8>Monumenter</option><option value=1%3A72%3A91f7baf8ec2ddf8d511102,1%3A57%3A91f7baf8ec2ddf8ca510dc>Museer og samlinger</option><option value=1%3A72%3A91f7baf8ec2ddf8b2e1065,1%3A57%3A91f7baf8ec2ddf88ec1013>Naturområder</option><option value=1%3A72%3A91f7baf8ec2ddf8d9f111b,1%3A57%3A91f7baf8ec2ddf8d60110b>Oldtidsminder og ruiner</option><option value=1%3A72%3A91f7baf8ec2ddf8ded1130,1%3A57%3A91f7baf8ec2ddf8d9f111f>Slotte og herregårde</option><option value=1%3A72%3A91f7baf8ec2ddf8e2c1144,1%3A57%3A91f7baf8ec2ddf8ded1134>Virksomhedsbesøg</option><option value=1%3A72%3A91f7baf8ec2ddf869af6d,1%3A57%3A91f7baf8ec2ddf865cf5d>Zoo´er og dyreparker</option></select>';
    }

    if (Form.Kategori.value == "3") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo3><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf7360a77,1%3A57%3A91f7baf8ec2ddf7322a67>Bådudlejere</option><option value=1%3A72%3A91f7baf8ec2ddf6f6994b,1%3A57%3A91f7baf8ec2ddf6e4090c>Cykelferier</option><option value=1%3A72%3A91f7baf8ec2ddf6e30900,1%3A57%3A91f7baf8ec2ddf6d078c1>Cykeludlejere</option><option value=1%3A72%3A91f7baf8ec2ddf72d4a48,1%3A57%3A91f7baf8ec2ddf7208a15>Fisketure og fiskeferier</option><option value=1%3A72%3A91f7baf8ec2ddf71f9a0a,1%3A57%3A91f7baf8ec2ddf711e9d7>Fiskevande</option><option value=1%3A72%3A91f7baf8ec2ddf74d7ad0,1%3A57%3A91f7baf8ec2ddf7370a7b>Fritidshavne</option><option value=1%3A72%3A91f7baf8ec2ddf7014983,1%3A57%3A91f7baf8ec2ddf6f69957>Golfbaner</option><option value=1%3A72%3A91f7baf8ec2ddf70d09b9,1%3A57%3A91f7baf8ec2ddf702498d>Golfferier</option><option value=1%3A72%3A91f7baf8ec2ddf75e1b25,1%3A57%3A91f7baf8ec2ddf75a2b13>Hesteudlejere</option><option value=1%3A72%3Aac100040effa343345725,1%3A57%3Aac100040f1111b1071eda3>Netcafeer</option><option value=1%3A72%3A91f7baf8ec2ddf762fb3b,1%3A57%3A91f7baf8ec2ddf75f0b29>Rideferier</option><option value=1%3A72%3Aac100040f057fc2721cfc,1%3A57%3Aac100040f11121b4a7ef01>Sejlture & sejlferier</option><option value=1%3A72%3A91f7baf8ec2ddf88dc1000,1%3A57%3A91f7baf8ec2ddf8736f9a>Sightseeing</option><option value=1%3A72%3A91f7baf8ec2ddf7322a63,1%3A57%3A91f7baf8ec2ddf72e3a53>Småbådsudlejere</option><option value=1%3A72%3A91f7baf8ec2ddf7758b81,1%3A57%3A91f7baf8ec2ddf762fb3f>Sportscentre</option><option value=1%3A72%3A91f7baf8ec2ddf6cf88b6,1%3A57%3A91f7baf8ec2ddf6b8187b>Strande</option><option value=1%3A72%3A91f7baf8ec2ddf6b61877,1%3A57%3A91f7baf8ec2ddf6a48864>Sv&oslash;mmehaller &amp; vandlande</option><option value=1%3A72%3A91f7baf8ec2ddf7593b09,1%3A57%3A91f7baf8ec2ddf74e7ae0>Surfskoler</option></select>';
    }

    if (Form.Kategori.value == "4") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo4><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf78bfbf2,1%3A57%3A91f7baf8ec2ddf7881be2>Folkefester</option><option value=1%3A72%3A91f7baf8ec2ddf790dc06,1%3A57%3A91f7baf8ec2ddf78cfbf6>Markeder</option><option value=1%3A72%3A91f7baf8ec2ddf794cc1a,1%3A57%3A91f7baf8ec2ddf790dc0a>Musikbegivenheder</option><option value=1%3A72%3A91f7baf8ec2ddf799ac2e,1%3A57%3A91f7baf8ec2ddf795bc1e>Sportsbegivenheder</option><option value=1%3A72%3A91f7baf8ec2ddf79d8c42,1%3A57%3A91f7baf8ec2ddf799ac32>Teaterforestillinger</option><option value=1%3A72%3A91f7baf8ec2ddf7a27c56,1%3A57%3A91f7baf8ec2ddf79e8c46>Udstillinger</option><option value=1%3A72%3A91f7baf8ec2ddf7881bde,1%3A57%3A91f7baf8ec2ddf7842bce>Andre begivenheder</option></select>';
    }

    if (Form.Kategori.value == "5") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo5><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf7b6fc88,1%3A57%3A91f7baf8ec2ddf7a36c5a>Restauranter</option><option value=1%3A72%3A91f7baf8ec2ddf81d7e38,1%3A57%3A91f7baf8ec2dc02278810>Musik- &amp; dansesteder</option></select>';
    }

    if (Form.Kategori.value == "6") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo6 ><option selected=selected>Type</option><option value=>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf7dd0d0f,1%3A57%3A91f7baf8ec2ddf7b7ec93>Biludlejere</option><option value=1%3A72%3Aac100040ed24247add1bb2,1%3A57%3Aac100040ed254079767b8a>Lufthavne &amp; flyinfo</option><option value=1%3A72%3A91f7baf8ec2ddf90db116c,1%3A57%3A91f7baf8ec2ddf909d115c>Skibsruter</option><option value=1%3A72%3A91f7baf8ec2ddf7f66d83,1%3A57%3A91f7baf8ec2ddf7e3dd42>Turistvognm&aelig;nd</option></select>';
    }

    if (Form.Kategori.value == "7") {
    document.all.productInfo.innerHTML='<select class=dropdown name=productInfo7><option value=1%3A72%3A91f7baf8ec2ddf9158118d,1%3A57%3Aac100040ed2a1048691702 selected=selected>Type</option><option value=1%3A72%3A91f7baf8ec2ddf9158118d,1%3A57%3Aac100040ed2a1048691702>-----------------------------------</option><option value=1%3A72%3A91f7baf8ec2ddf9158118d,1%3A57%3Aac100040ed2a1048691702>Turistbureauer    </option></select>';
    }

return (true);
}
   
//-->
</script>


       
<form name="Form" action="productSearch.asp?Action=Find" method="post" target="_blank" onsubmit="return validate(this);">
    <table border="0" cellpadding="0" cellspacing="0">
        <tr height="15">
            <td height="15"></td>
        </tr>
        <tr>
            <td><select class="dropdown" name="Place" >
                    <option selected="selected" value="">Vælg by/område</option>
                    <option value="">-----------------------------------</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,">Sydsjælland/Møn/Lolland/Falster</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,">Vestsjælland</option>
                    <option value="1:74:91f7baf8ec2ddf1b3edf,">Roskilde/Køge</option>
                    <option value="">-----------------------------------</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1d611df">Fakse</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1e2c257">Fensmark</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1d8f1fd">Glumsø</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1e3b263">Langebæk</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1d701eb">Maribo</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1e1c251">Mogenstrup</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1d611e5">Møn</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1e0c24b">Nakskov</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1e0c245">Nykøbing Falster</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1dfd23f">Nysted</option>
                    <option value="1:74:91f7baf8ec2ddf1d511db,1:6:91f7baf8ec2ddf1ded239">Næstved</option>
                    <option value="">-----------------------------------</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1ded233">Nørre Alslev</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1dce221">Rudbjerg</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1daf20f">Sakskøbing</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1d9f209">Stevns</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1d801f7">Sydfalster</option>
                    <option value="1:74:91f7baf8ec2ddf244654f,1:6:91f7baf8ec2ddf1d801f1">Vordingborg</option>
                    <option value="">-----------------------------------</option>
                    <option value="1:74:91f7baf8ec2ddf1b3edf,1:6:91f7baf8ec2ddf1bab11f">Køge</option>
                    <option value="1:74:91f7baf8ec2ddf1b3edf,1:6:91f7baf8ec2ddf1b6dfb">Roskilde</option>
                    <option value="1:74:91f7baf8ec2ddf1b3edf,1:6:91f7baf8ec2ddf1b6df5">Skovbo</option>
                    <option value="1:74:91f7baf8ec2ddf1b3edf,1:6:91f7baf8ec2ddf1b7c101">Vallø</option>
                </select></td>
        </tr>
        <tr height="5">
            <td height="5"></td>
        </tr>
        <tr>
            <td><select class="dropdown" name="Kategori" onchange="return VisType();">
                    <option value="" selected>Kategori</option>
                    <option value="">-----------------------------------</option>
                    <option value="1">Overnatning</option>
                    <option value="2">Attraktioner</option>
                    <option value="3">Aktiviteter</option>
                    <option value="4">Begivenheder</option>
                    <option value="5">Restauranter &amp; musik</option>
                    <option value="6">Turistbureauer</option>
                </select></td>
        </tr>
        <tr height="5">
            <td align="left" height="5"></td>
        </tr>
        <tr>
            <td align="left"><a id="productInfo"><select class="dropdown" name="">
                        <option>Type</option>
                    </select></a></td>
        </tr>
        <tr height="5">
            <td height="5"></td>
        </tr>
        <tr>
            <td><font color="white">Angiv s&oslash;geord:</font><br>
                <input type="text" name="keyword" size="24" value="" class="inputtekst"></td>
        </tr>
        <tr height="5">
            <td height="5"></td>
        </tr>
        <tr>
            <td><input type="submit" name="" value="S&Oslash;G" class="submitknap"></td>
        </tr>
    </table>
Avatar billede olebole Juniormester
20. oktober 2003 - 13:08 #5
Kan du ikke bare lægge en URL til siden?
Avatar billede joch Nybegynder
20. oktober 2003 - 14:38 #6
Grunden til at det gøres på denne måde, er at jeg henter informationen fra et eksternt site!

Er der virkelig ikke nogen måde man kan få
if (Form.productInfo[Form.Kategori.value].value == "")
til at være
if (Form.productInfo2.value == "")

???
Avatar billede olebole Juniormester
20. oktober 2003 - 19:57 #7
Uden tvivl ... gider ikke sidde og rode koden igennem
Avatar billede roenving Novice
21. oktober 2003 - 01:28 #8
Måske er det denne property du mangler at kende:

if (Form.elements["productInfo"+Form.Kategori.value].value == "")
    {
    alert("Du mangler at vælge type");
    Form.elements["productInfo"+Form.Kategori.value].focus();
    return (false);
    }
Avatar billede joch Nybegynder
21. oktober 2003 - 09:03 #9
Det var det lige bestemt :D Jeg takker mange gange!
Hvis du opretter et svar, så giver jeg point.
Avatar billede roenving Novice
21. oktober 2003 - 09:30 #10
Velbekomme '-)
Avatar billede roenving Novice
21. oktober 2003 - 10:06 #11
-- og tak for points ;~}
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