Avatar billede 13thsky Nybegynder
05. januar 2004 - 18:43 Der er 29 kommentarer og
1 løsning

dropdown menu check

jeg har en menu i en form.

Hvordan laver jeg en alert når der ikke vælges noget i menuen?

<form>
<select name="kundenavn">
<option></option>
<option>bla1</option>
<option>bla2</option>
</form>
Avatar billede thesurfer Nybegynder
05. januar 2004 - 18:46 #1
<form>
<select name="kundenavn" onChange="if (this.value == '') { alert('du skal vælge noget!'); }">
<option value="">Vælg noget</option>
<option value="valg1">valgmulighed 1</option>
<option value="valg2">valgmulighed 2</option>
</form>
Avatar billede nak-m Nybegynder
05. januar 2004 - 18:50 #2
13thsky: mener du, at alert'en skal komme, når formen bliver submit'et?
Avatar billede 13thsky Nybegynder
05. januar 2004 - 18:52 #3
ja, nemlig...
Avatar billede nak-m Nybegynder
05. januar 2004 - 18:54 #4
Hvordan bliver din form submit'et, har du en submitknap?
Avatar billede 13thsky Nybegynder
05. januar 2004 - 18:55 #5
ja
Avatar billede 13thsky Nybegynder
05. januar 2004 - 18:57 #6
altså det er  lavet i php, således:

<form name="form1" method="post" action="<? $PHP_SELF ?>" onsubmit="return Check()">

Altså hvor functionen hedder Check
Avatar billede 13thsky Nybegynder
05. januar 2004 - 18:57 #7
Det er altså Check functionen jeg mangler
Avatar billede thesurfer Nybegynder
05. januar 2004 - 18:58 #8
<form onSubmit="if (this.value == '') { alert('du skal vælge noget!'); return false }">
Avatar billede thesurfer Nybegynder
05. januar 2004 - 18:59 #9
Det er apostroffer (2x ' tegnet) og ikke gåseøjne (1x " tegnet):  == '')
Avatar billede thesurfer Nybegynder
05. januar 2004 - 18:59 #10
Du behøver ikke en funktion, du kan nøjes med det der..
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:01 #11
problemet er at formen indeholder mange elementer, og dermed refererer 'this' jo ikke til dropdown menuen. (Menuen hedder: "kundenavn")
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:02 #12
Jeg har da lavet en fejl.. <select> skal ende med </select>

<option value="valg2">valgmulighed 2</option>
</select>
</form>
Avatar billede nak-m Nybegynder
05. januar 2004 - 19:02 #13
<form onSubmit="if (this.kundenavn.value == '') { alert('du skal vælge noget!'); return false }">
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:03 #14
ahhh. ja :)
jeg har jo flyttet den fra <select> og til <form> :)
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:05 #15
jeg vil gerne verificere flere af de elementer som er i 'form'.

derfor vil jeg have det som en function, således at alle functionerne ikke ligger direkte i <form onSubmit="if (this.blablabla.....
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:06 #16
Du vil validere alle felter, og ikke kun menuen? Så skal du bruge en funktion..
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:07 #17
Hvad er dine regler? Hvad må være tomt, og hvad må ikke være tomt, hvad er navnene på elementerne/felterne..?
Så meget info som muligt.. :)
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:11 #18
ok, jeg har forestillet mig noget i stil med:


<SCRIPT>
function Check() {
    if (document.form1.kunde.value == "") {
      alert("Du mangler at vælge en kunde");
        return false; }
}
</SCRIPT>

<form name="form1" method="post" action="<? $PHP_SELF ?>" onsubmit="return Check()">

<select name="kunde">
    <option value="">Vælg Kunde</option>
    <option>"kunde1"</option>
    <option>"kunde2"</option>
    <option>"kunde3"</option>
</select>

<form>
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:13 #19
Hvis det kun er 1 felt, kan du lige så godt bruge:
<form onSubmit="if (this.kundenavn.value == '') { alert('du skal vælge noget!'); return false }">
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:14 #20
formen indeholder 20 felter...
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:16 #21
Er der nogen af dem der må være tomme? Eller skal der være en værdi i dem alle sammen (tekst/tal, menu-værdi)?
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:18 #22
nogle af dem er radiobuttons, nogle er tekstfelter osv. Men dem har jeg styr på at verificere via functioner. Det er bare hvordan jeg gør med dropdown menuer?
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:22 #23
Du har styr på radiobuttons.. så skal du bare checke menuen.. i din check():

<script type="text/JavaScript">
// en masse kode..
if (this.kundenavn.value == '') { alert('du skal vælge noget!'); return false }
// en masse andet kode..
</script>

Hvad er problemet? :)
Avatar billede 13thsky Nybegynder
05. januar 2004 - 19:34 #24
ved det sq ikke... Men jeg smider lige hele koden ind her:

<? include("db_con.php"); ?>
<html>
<head>
<title>Ure Kartotek for M. Toft</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body link="#000000" vlink="#000000" alink="#000000">
<SCRIPT>
function Check() {
    if (form1.kunde.value == '') { alert('du skal vælge noget!'); return false }
}
</SCRIPT>
<font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#000000"><br>
</font></strong></font>
<form name="form1" method="post" action="<? $PHP_SELF ?>?save=yes" onsubmit="return Check()">
  <div align="left"></div>
  <p align="left">
    <input type="submit" name="Submit" value="  Tilf&oslash;j  ">
    <strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kunde</font></strong>
    <select name="kunde">
      <option></option>
<option>kunde1</option>
  <option>kunde2</option>
  <option>kunde2</option>
    </select>
  </p>
</form>
</body>
</html>
Avatar billede nak-m Nybegynder
05. januar 2004 - 19:39 #25
du skal give dine andre options værdier:
<select name="kunde">
  <option></option>
  <option value="kunde1">kunde1</option>
  <option value="kunde2">kunde2</option>
  <option value="kunde3">kunde3</option>
</select>
Avatar billede thesurfer Nybegynder
05. januar 2004 - 19:47 #26
Hmm.. det fik jeg ellers med, allerede ved første indlæg.. :-)

Men eh.. jeg kan ikke se 20 felter.. ? :)
Og ingen radiobuttons..
Avatar billede 13thsky Nybegynder
05. januar 2004 - 20:18 #27
tja, det må siges at være fejlen.

Jeg troede man kunne nøjes med at skrive <option>kunde1</option>..

Takker for hjælpen
Drop et svar surfer...

//13th sky
Avatar billede thesurfer Nybegynder
05. januar 2004 - 20:32 #28
Et svar er droppet :)
Avatar billede 13thsky Nybegynder
06. januar 2004 - 01:07 #29
tnx!
Avatar billede thesurfer Nybegynder
06. januar 2004 - 13:06 #30
Takker 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