Avatar billede fjammi Nybegynder
04. august 2004 - 21:44 Der er 20 kommentarer og
1 løsning

Mange selectboxe med samme indhold

Flyttet fra PHP-kategorien

Hej
Jeg har et problem med nogle selectboxe jeg har. Selectboxene skal bruges til at angive et niveau for forskellige hold. Det er de samme niveau der er at vælge mellem ved alle holdene.
<?php
$niveau1 = "Division";
$niveau2 = "Elite";
$niveau3 = "A";
$niveau4 = "B";
?>
Selectboxene ser sådan ud:
          <select name="hold1">
            <option value="">Niveau</option>
            <option value="<?=$niveau1?>"><?=$niveau1?></option>
            <option value="<?=$niveau2?>"><?=$niveau2?></option>
            <option value="<?=$niveau3?>"><?=$niveau3?></option>
            <option value="<?=$niveau4?>"><?=$niveau4?></option>
          </select>
alle med forskelligt name.
Mit problem er så at de valgte niveauer skal blive ved med at være selected efter man har trykket på opdater.

Håber i forstår, ellers så skriv
Avatar billede martin1000ben Nybegynder
04. august 2004 - 21:47 #1
<option value="" selected>felt indhold</option>

altså skal den der selected med ind hvis feltet skal være valgt
Avatar billede martin1000ben Nybegynder
04. august 2004 - 21:48 #2
og ja - løsningen så det er xhtml standard
<option value="" selected='selected'>felt indhold</option>
Avatar billede fjammi Nybegynder
04. august 2004 - 21:50 #3
det skal være i en phpfil
Avatar billede roenving Novice
04. august 2004 - 21:52 #4
Vil det sige, at du har nogen, som åbner din formular, vælger noget i en select, og så finder på at opdatere, før de har submittet den ?-)
Avatar billede martin1000ben Nybegynder
04. august 2004 - 21:53 #5
der kan du også bruge løsningen - så skal du bare ind og lave if og else for hver selectbox :)
Avatar billede fjammi Nybegynder
04. august 2004 - 21:56 #6
-roenving
Nej det er der nok ikke, men det er fordi at der er nogle andre felter, som bliver tjekket når man submitter og hvis disse ikke er udfyldt bliver man sendt tilbage.
Avatar billede roenving Novice
04. august 2004 - 21:56 #7
Hvodden det ?-)

-- nåh, jah, hvis man lige registrererhvilke valg, der foretages i cookies og så aflæser cookies onload, og så lige tager højde for, at den samme side kan være opdateret på en helt anden computer ...
Avatar billede fjammi Nybegynder
04. august 2004 - 21:57 #8
-martin
Ja det er jo det jeg helst vil slippe for, for der er 50 selectboxe
Avatar billede roenving Novice
04. august 2004 - 21:58 #9
Kan du så ikke lave et første check af det hele i javascript, så man kun submitter, hvis chancen for at det dur er stor ?-)
Avatar billede fjammi Nybegynder
04. august 2004 - 22:00 #10
Jo det var da en ide. har du sådan et script?
Avatar billede roenving Novice
04. august 2004 - 22:04 #11
Dem findes der tusindvis af !-)

Er det alle tekst-felter, som skal checkes, har du måske også nogle andre typer felter ?-)

-- men f.eks.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Check alle felter for udfyldelse</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/524316">
<meta name="Generator" content="Stone's WebWriter 4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function checkForm(f){
    var txt = "",fjl;
    var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
    var regexp = new RegExp("^["+t+"]["+t+"\\.\\-]*@["+t+"]["+t+"\\.\\-]*\\.[\\w]{2,6}$","i");
    var regcurr = /^([\-\+]?[1-9]\d{0,2}((\.\d{3})*|\d*)(\,\d{2})?)?$/;
    for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if ((fld.tagName=='TEXTAREA'||fld.type=="text")&&fld.value==fld.defaultValue){
            txt+="\n\t"+fld.name;
            if(!fjl)fjl = fld;
        }else if (fld.name.toLowerCase().indexOf("mail")>-1){
            if (!regexp.test(fld.value)||/(\.@|\-@|\-\-|\.\.)/g.test(fld.value))txt+="\n\t"+fld.name+" -- ikke korrekt mail-adresse-format";
            if(!fjl)fjl = fld;
        }else if (fld.name.toLowerCase().indexOf("curr")>-1){
            if (!regcurr.test(fld.value))txt+="\n\t"+fld.name+" -- beløb skal angives i et korrekt format";
            if(!fjl)fjl = fld;
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        fjl.select();
        fjl.focus()
        return false;
    }
    return true;
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm" action="" method="get" onsubmit="return checkForm(this);">
Input1: <input id="minInput1" name="input1" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input2: <input id="minInput2" name="Input2" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Input3: <input id="minInput3" name="input3" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
E-mail: <input id="minInput4" name="Email" type="text" value="name@domain.topDomain" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="30"><br>
Kommentar: <textarea name="Kommentar" cols="80" rows="5" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;"></textarea><br><br>
<input type="submit" value="Send data">
</form>
</body>
</html>
Avatar billede fjammi Nybegynder
04. august 2004 - 22:06 #12
tak ja det er tekstfelter alle sammen. ser lige om jeg kan få det til at virke nu så
Avatar billede fjammi Nybegynder
04. august 2004 - 22:13 #13
Nå læste lige forkert før. Nej der er et tekstfelt der ikke behøver udfyldes
Avatar billede roenving Novice
04. august 2004 - 22:18 #14
Du har ikke nogen email eller tal/valuta-felter, vel ?-)
Avatar billede fjammi Nybegynder
04. august 2004 - 22:19 #15
nej det er alle text type
Avatar billede roenving Novice
04. august 2004 - 22:23 #16
Så kunne scriptet f.eks. blive sådan:

<script language="javascript" type="text/javascript">
function checkForm(f){
    var txt = "",fjl;
  for(i=0;f.elements.length>i;i++){
        fld = f.elements[i]
        if (!fld.name=="FeltnavnSomGerneMaaVaereTomt"&&(fld.tagName=='TEXTAREA'||fld.type=="text")&&fld.value==fld.defaultValue){
            txt+="\n\t"+fld.name;
            if(!fjl)fjl = fld;
        }
    }
    if(txt!=""){
        txt = "Du mangler at udfylde disse felter:\n"+txt+"\n\nAlle felter skal udfyldes";
        alert(txt);
        fjl.select();
        fjl.focus()
        return false;
    }
    return true;
}
</script>
Avatar billede roenving Novice
04. august 2004 - 22:25 #17
-- bemærk, at jeg her har gjort det med en forklarende tekst i hvert felt, som jo er en rar feature, hvis den ikke kommer i vejen for andre ønsker ...
Avatar billede fjammi Nybegynder
04. august 2004 - 22:29 #18
der sker ik noget når jeg submitter
Avatar billede fjammi Nybegynder
04. august 2004 - 22:32 #19
har fundet ud af det...
Tak for hjælpen.
Lig et svar så skal du få dine points
Avatar billede roenving Novice
04. august 2004 - 22:33 #20
Velbekomme '-)
Avatar billede roenving Novice
04. august 2004 - 22:40 #21
-- 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