Avatar billede mik28 Seniormester
11. marts 2003 - 11:06 Der er 12 kommentarer og
1 løsning

validering

Hej Eksperter

Jeg har en form hvor jeg ønsker at validerer værdierne. Hvordan laver jeg det smartest. Jeg har prøvet med noget i denne her stil.

<script type="text/javascript">
    function validate()
    {
    x=document.form
   
    // values we validate
    name  =x.name.value
    email =x.email.value
   
    if (name!="")
    {
    return true
    }
    else
    {
    alert("Please write your name");
    document.form.name.focus();
    return false
    }
   
    if (email!="")
    {
    return true
    }
    else
    {
    alert("Please write your e-mail");
    document.form.email.focus();
    return false
    }
   
    }
</script>
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:35 #1
function valider(form) {
if (form.feltnavn.value.length > 0) {
} else {
  alert ("Feltet xxx skal udfyldes.");
  form.feltnavn.focus();
  return false;
}
//osv.
//til sidst skriver du en return true:

return true; //ok alt er udfyldt korrekt
}
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 11:35 #2
og
<form onsubmit="return valider(this);">
Avatar billede mik28 Seniormester
11. marts 2003 - 11:41 #3
Er det noget makværk at gøre det sådan her :-)

<script type="text/javascript">
    function validate()
    {
        x=document.form
       
        // values we validate
        name    =x.name.value
        email  =x.email.value
        country =x.country.value
       
        if (name =="")
        {
        alert("Please write your name");
        document.form.name.focus();
        return false
        }
       
        else if (email =="")
        {
        alert("Please write your e-mail");
        document.form.email.focus();
        return false
        }
       
        else if (country =="")
        {
        alert("Please select your country");
        document.form.country.focus();
        return false
        }
       
        else
        {
       
        return true;
        }
    }
</script>
Avatar billede ocp Nybegynder
11. marts 2003 - 11:47 #4
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>

<input name=val_name>
<input name=val_email>
<input name=val_work_address>

<input type=button onClick="Validate('val_','Please write your ')" value=Validate>

</BODY>
</HTML>

<script language=javascript>
    function Validate(sPrefix, sMessage)
    {
        var coll = document.getElementsByTagName("INPUT")
        var ctl;
        var sMsg = '';
       
        for(var t=0; t<coll.length; t++)
        {
            ctl = coll[t];
            if( ctl.type == "text" && (ctl.name.indexOf(sPrefix) == 0) )
            {
                if( ctl.value.replace(/\ /g,"").length == 0 )
                {
                    sMsg += sMessage + ctl.name.replace(sPrefix,"").replace(/_/g," ") + ".\n";
                };
            };
           
        };
        if( sMsg.length > 0 )
            alert(sMsg);       
    };
   
</script>
Avatar billede ocp Nybegynder
11. marts 2003 - 11:48 #5
Det var det mest fleksible jeg kunne komme på :)
Avatar billede mik28 Seniormester
11. marts 2003 - 11:51 #6
cool, jeg fatter bare ikke en meter af det *lol*
Avatar billede mik28 Seniormester
11. marts 2003 - 11:55 #7
Det er det her http://www.web-oasen.dk/mortallovebeta/servlet/Start jeg arbejder på. Det er under Community kan man signe guestbook.
Avatar billede ocp Nybegynder
11. marts 2003 - 12:19 #8
Fidusen er at jeg kører igennem samtlige input-bokse på siden, finde ud af om de er af typen "text" og derefter om deres navn har et præfix (som du vælger selv - jeg har valgt "val_" som præfix i mit eksempel).
Hvis alle disse ting stemmer fjerner jeg præfix'et fra navnet og erstatter alle underscores (_) i navnet med mellemrum, samt sætter meddelelsen, sMessage, foran.
Du skal altså blot give dine text-felter et navn der kan bruges til at generere validerings-fejlmeddelelserne.
Avatar billede mik28 Seniormester
11. marts 2003 - 12:22 #9
Det lyder smart, men jeg er ikke så avanceret :-)
Avatar billede ocp Nybegynder
11. marts 2003 - 12:25 #10
Sådan her?

<html>
<head>

<script type="text/javascript">
    function validate()
    {
        x=document.form
       
        // values we validate
        name    =x.name.value
        email  =x.email.value
        country =x.country.value
       
        if (name =="")
        {
        alert("Please write your name");
        document.form.name.focus();
        return false
        }
       
        else if (email =="")
        {
        alert("Please write your e-mail");
        document.form.email.focus();
        return false
        }
       
        else if (country =="")
        {
        alert("Please select your country");
        document.form.country.focus();
        return false
        }
       
        else
        {
        alert("Thank you for your submission");
        window.close();
        return true;
        }
    }
</script>




<style type="text/css">
body {
background-color: #555555;
margin:0,10,10,10;
}

</style>
</head>

<body onload='self.focus();'>

<p align='center'>Sign Guestbook</p>
<!-- onsubmit='window.close();' -->
<form method='post' name='form' action='signguestbook.jsp' onsubmit="return Validate('', 'Please fill in the field: ')">
<center>

    <table style="width:450px;border:ridge;border-width:thin" cellpadding='0' cellspacing='0'>
    <tr>
    <tr><td style="width:100px;">Name</td><td style="width:350px;"><input type='text' name='name' value='' size='20'></td></tr>
    <tr><td>Homepage</td><td><input type='text' name='homepage' value='' size='20'></td></tr>
    <tr><td>E-mail</td><td><input type='text' name='email' value='' size='20'></td></tr>
    <tr><td>Country</td><td>
   
    <select name="country" size="1">
    <option selected>choose a country</option>
        <option value="" selected>(select a country)</option>
    <option value="Afghanistan">Afghanistan</option>
    <option value="Albania">Albania</option>
    <option value="Algeria">Algeria</option>
    <option value="Andorra">Andorra</option>
    <option value="Angola">Angola</option>
    <option value="Anguilla">Anguilla</option>
    <option value="Antigua-&-Barbuda">Antigua & Barbuda</option>
    <option value="Argentina">Argentina</option>
    <option value="Armenia">Armenia</option>
    <option value="Aruba">Aruba</option>
    <option value="Australia">Australia</option>
    <option value="Austria">Austria</option>
    <option value="Azerbaijan">Azerbaijan</option>
    <option value="Bahamas">Bahamas</option>
    <option value="Bahrain">Bahrain</option>
    <option value="Bangladesh">Bangladesh</option>
    <option value="Barbados">Barbados</option>
    <option value="Belarus">Belarus</option>
    <option value="Belgium">Belgium</option>
    <option value="Belize">Belize</option>
    <option value="Benin">Benin</option>
    <option value="Bermuda">Bermuda</option>
    <option value="Bhutan">Bhutan</option>
    <option value="Bolivia">Bolivia</option>
    <option value="Bosnia-Herzegovina">Bosnia Herzegovina</option>
    <option value="Botswana">Botswana</option>
    <option value="Brazil">Brazil</option>
    <option value="British-Virgin-Islands">British Virgin Islands</option>
    <option value="Brunei-Darussalam">Brunei Darussalam</option>
    <option value="Bulgaria">Bulgaria</option>
    <option value="Burkina-Faso">Burkina Faso</option>
    <option value="Burma-Myanmar">Burma Myanmar</option>
    <option value="Burundi">Burundi</option>
    <option value="Cambodia">Cambodia</option>
    <option value="Cameroon">Cameroon</option>
    <option value="Canada">Canada</option>
    <option value="Cape-Verde">Cape Verde</option>
    <option value="Cayman-Islands">Cayman Islands</option>
    <option value="Central-African-Republic">Central African Republic</option>
    <option value="Chad">Chad</option>
    <option value="Chile">Chile</option>
    <option value="China">China</option>
    <option value="Colombia">Colombia</option>
    <option value="Comoros">Comoros</option>
    <option value="Congo-Democratic-Republic-of-the">Congo Democratic Republic of the</option>
    <option value="Congo-Republic-of-the">Congo Republic of the</option>
    <option value="Costa-Rica">Costa Rica</option>
    <option value="Cote-dIvoire-Ivory-Coast">Cote dIvoire Ivory Coast</option>
    <option value="Croatia">Croatia</option>
    <option value="Cyprus">Cyprus</option>
    <option value="Czech-Republic">Czech Republic</option>
    <option value="Denmark">Denmark</option>
    <option value="Djibouti">Djibouti</option>
    <option value="Dominica">Dominica</option>
    <option value="Dominican-Republic">Dominican Republic</option>
    <option value="Ecuador">Ecuador</option>
    <option value="Egypt">Egypt</option>
    <option value="El-Salvador">El Salvador</option>
    <option value="Equatorial-Guinea">Equatorial Guinea</option>
    <option value="Eritrea">Eritrea</option>
    <option value="Estonia">Estonia</option>
    <option value="Ethiopia">Ethiopia</option>
    <option value="Faroe-Islands">Faroe Islands</option>
    <option value="Fiji">Fiji</option>
    <option value="Finland">Finland</option>
    <option value="France">France</option>
    <option value="French-Guiana">French Guiana</option>
    <option value="French-Polynesia">French Polynesia</option>
    <option value="Gabon">Gabon</option>
    <option value="Gambia">Gambia</option>
    <option value="Georgia-Republic-of">Georgia Republic of</option>
    <option value="Germany">Germany</option>
    <option value="Ghana">Ghana</option>
    <option value="Gibraltar">Gibraltar</option>
    <option value="Great-Britain-&-Northern-Ireland">Great Britain & Northern Ireland</option>
    <option value="Greece">Greece</option>
    <option value="Greenland">Greenland</option>
    <option value="Grenada">Grenada</option>
    <option value="Guadeloupe">Guadeloupe</option>
    <option value="Guatemala">Guatemala</option>
    <option value="Guinea">Guinea</option>
    <option value="Guinea-Bissau">Guinea Bissau</option>
    <option value="Guyana">Guyana</option>
    <option value="Haiti">Haiti</option>
    <option value="Honduras">Honduras</option>
    <option value="Hong-Kong">Hong Kong</option>
    <option value="Hungary">Hungary</option>
    <option value="Iceland">Iceland</option>
    <option value="India">India</option>
    <option value="Indonesia">Indonesia</option>
    <option value="Iran">Iran</option>
    <option value="Ireland-Eire">Ireland Eire</option>
    <option value="Israel">Israel</option>
    <option value="Italy">Italy</option>
    <option value="Jamaica">Jamaica</option>
    <option value="Japan">Japan</option>
    <option value="Jordan">Jordan</option>
    <option value="Kazakhstan">Kazakhstan</option>
    <option value="Kenya">Kenya</option>
    <option value="Kiribati">Kiribati</option>
    <option value="Korea-Republic-of-South">Korea Republic of South</option>
    <option value="Kuwait">Kuwait</option>
    <option value="Kyrgyzstan">Kyrgyzstan</option>
    <option value="Laos">Laos</option>
    <option value="Latvia">Latvia</option>
    <option value="Lebanon">Lebanon</option>
    <option value="Lesotho">Lesotho</option>
    <option value="Liberia">Liberia</option>
    <option value="Libya">Libya</option>
    <option value="Liechtenstein">Liechtenstein</option>
    <option value="Lithuania">Lithuania</option>
    <option value="Luxembourg">Luxembourg</option>
    <option value="Macao">Macao</option>
    <option value="Macedonia-Republic-of">Macedonia Republic of</option>
    <option value="Madagascar">Madagascar</option>
    <option value="Malawi">Malawi</option>
    <option value="Malaysia">Malaysia</option>
    <option value="Maldives">Maldives</option>
    <option value="Mali">Mali</option>
    <option value="Malta">Malta</option>
    <option value="Martinique">Martinique</option>
    <option value="Mauritania">Mauritania</option>
    <option value="Mauritius">Mauritius</option>
    <option value="Mexico">Mexico</option>
    <option value="Moldova">Moldova</option>
    <option value="Mongolia">Mongolia</option>
    <option value="Montserrat">Montserrat</option>
    <option value="Morocco">Morocco</option>
    <option value="Mozambique">Mozambique</option>
    <option value="Namibia">Namibia</option>
    <option value="Nauru">Nauru</option>
    <option value="Nepal">Nepal</option>
    <option value="Netherlands">Netherlands</option>
    <option value="Netherlands-Antilles">Netherlands Antilles</option>
    <option value="New-Caledonia">New Caledonia</option>
    <option value="New-Zealand">New Zealand</option>
    <option value="Nicaragua">Nicaragua</option>
    <option value="Niger">Niger</option>
    <option value="Nigeria">Nigeria</option>
    <option value="Norway">Norway</option>
    <option value="Oman">Oman</option>
    <option value="Pakistan">Pakistan</option>
    <option value="Panama">Panama</option>
    <option value="Papua-New-Guinea">Papua New Guinea</option>
    <option value="Paraguay">Paraguay</option>
    <option value="Peru">Peru</option>
    <option value="Philippines">Philippines</option>
    <option value="Pitcairn-Island">Pitcairn Island</option>
    <option value="Poland">Poland</option>
    <option value="Portugal">Portugal</option>
    <option value="Qatar">Qatar</option>
    <option value="Reunion">Reunion</option>
    <option value="Romania">Romania</option>
    <option value="Russia">Russia</option>
    <option value="Rwanda">Rwanda</option>
    <option value="Saint-Helena">Saint Helena</option>
    <option value="Saint-Lucia">Saint Lucia</option>
    <option value="Saint-Pierre-&-Miquelon">Saint Pierre & Miquelon</option>
    <option value="Saint-Vincent-&-Grenadines">Saint Vincent & Grenadines</option>
    <option value="San-Marino">San Marino</option>
    <option value="Sao-Tome-&-Principe">Sao Tome & Principe</option>
    <option value="Saudi-Arabia">Saudi Arabia</option>
    <option value="Senegal">Senegal</option>
    <option value="Serbia-Montenegro-Yugoslavia">Serbia Montenegro Yugoslavia</option>
    <option value="Seychelles">Seychelles</option>
    <option value="Sierra-Leone">Sierra Leone</option>
    <option value="Singapore">Singapore</option>
    <option value="Slovak-Republic-Slovakia">Slovak Republic Slovakia</option>
    <option value="Slovenia">Slovenia</option>
    <option value="Solomon-Islands">Solomon Islands</option>
    <option value="South-Africa">South Africa</option>
    <option value="Spain">Spain</option>
    <option value="Sri-Lanka">Sri Lanka</option>
    <option value="St.-Christopher-St.-Kitts-&-Nevis">St. Christopher St. Kitts & Nevis</option>
    <option value="Sudan">Sudan</option>
    <option value="Suriname">Suriname</option>
    <option value="Swaziland">Swaziland</option>
    <option value="Sweden">Sweden</option>
    <option value="Switzerland">Switzerland</option>
    <option value="Syrian-Arab-Republic-Syria">Syrian Arab Republic Syria</option>
    <option value="Taiwan">Taiwan</option>
    <option value="Tajikistan">Tajikistan</option>
    <option value="Tanzania">Tanzania</option>
    <option value="Thailand">Thailand</option>
    <option value="Togo">Togo</option>
    <option value="Tonga">Tonga</option>
    <option value="Trinidad-&-Tobago">Trinidad & Tobago</option>
    <option value="Tristan-da-Cunha">Tristan da Cunha</option>
    <option value="Tunisia">Tunisia</option>
    <option value="Turkey">Turkey</option>
    <option value="Turkmenistan">Turkmenistan</option>
    <option value="Turks-&-Caicos-Islands">Turks & Caicos Islands</option>
    <option value="Tuvalu">Tuvalu</option>
    <option value="Uganda">Uganda</option>
    <option value="Ukraine">Ukraine</option>
    <option value="United-Arab-Emirates">United Arab Emirates</option>
    <option value="United-States">United States</option>
    <option value="Uruguay">Uruguay</option>
    <option value="Uzbekistan">Uzbekistan</option>
    <option value="Vanuatu">Vanuatu</option>
    <option value="Vatican-City">Vatican City</option>
    <option value="Venezuela">Venezuela</option>
    <option value="Vietnam">Vietnam</option>
    <option value="Wallis-&-Futuna-Islands">Wallis & Futuna Islands</option>
    <option value="Western-Samoa">Western Samoa</option>
    <option value="Yemen">Yemen</option>
    <option value="Zambia">Zambia</option>
    <option value="Zimbabwe">Zimbabwe</option>
          </select>
    </td></tr>
   
    <tr><td style="vertical-align: top;">Comment</td><td><textarea name='comment' cols='42' rows='13'></textarea></td></tr>
    <tr><td colspan='2' align='right'><input type='submit' class='button1' value='Submit'></td></tr>
    </form>
    </table>
</center>
</body>
</html>

<script language=javascript>
    function Validate(sPrefix, sMessage)
    {
        var coll = document.getElementsByTagName("INPUT")
        var ctl;
        var sMsg = '';
       
        for(var t=0; t<coll.length; t++)
        {
            ctl = coll[t];
            if( ctl.type == "text" && (ctl.name.indexOf(sPrefix) == 0) )
            {
                if( ctl.value.replace(/\ /g,"").length == 0 )
                {
                    sMsg += sMessage + ctl.name.replace(sPrefix,"").replace(/_/g," ") + ".\n";
                };
            };
           
        };
        if( sMsg.length > 0 )
        {
            alert(sMsg);
            return false;
        }
        return true;
    };
   
</script>
Avatar billede ocp Nybegynder
11. marts 2003 - 12:25 #11
OK
Avatar billede pelkjaer Nybegynder
11. marts 2003 - 12:26 #12
Det er også ganske smart, men måske er dom kode til en validering lidt overkill :)
Avatar billede ocp Nybegynder
11. marts 2003 - 12:48 #13
Tja, det kommer så sandelig an på antallet af felter der skal valideres. Der skal kodes en del for at lægge validering af samtlige felter ind hvis man bare har 10 felter.
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