Avatar billede Slettet bruger
24. oktober 2010 - 16:03 Der er 15 kommentarer og
1 løsning

Alert + focus

Hvordan laver man en alert på en manglende indtastning, således at feltet ændrer baggrundsfarve, eller at der kommer en lille pil ud for det felt der mangler info.

Eks. på et obligatorisk felt:

<form method="POST" action="action.php" onSubmit="return checkform(this)">
    <table align="center" cellspacing="5" border="0">
      <tr>
        <td valign="top">
Kategori:<br />
<select name="kategori" id="kategori">
<option selected>Vælg kategori..</option>
<option value="1">Bagværk og desserter</option>
<option value="2">Kød og ovnretter</option>
</select>
</td>
</tr>
      <tr>
        <td colspan="2" align="center">
          <input type="submit" name="opret" value="Send opskrift" id="submit">
          <input type="reset" name="slet" value="Nulstil" id="reset">
        </td>
      </tr>
    </table>
</form>


Jeg har "taget" dette fra hustruens side, men det virker ikke.

<script type="text/javascript">
_d=document;

function tjek() {
//kommenteret ud for test

if (_d.getElementById('stikord').value == "") {
_d.getElementById('stikord').style.background = '#4b9645'
_d.getElementById('stikord').focus();
return
}

// når alt er ok:
document.form1.submit();
}
</script>
Avatar billede majbom Novice
24. oktober 2010 - 19:07 #1
prøv at ret til:

function tjek(form) {
//kommenteret ud for test
f = form;
if (f.kategori.value == "") {
f.kategori.style.background = '#4b9645'
f.kategori.focus();
return false;
}

// når alt er ok:
return true;
Avatar billede Slettet bruger
24. oktober 2010 - 19:57 #2
Skal den sættes ind i head eller bare før formularen?
Avatar billede majbom Novice
25. oktober 2010 - 09:05 #3
den indsættes i script-tag i din head-sektion
Avatar billede Slettet bruger
25. oktober 2010 - 19:08 #4
Har rettet lidt til, men det virker ikke :( Den går lige igennem uden at give besked om manglende input.

<script type="text/javascript">
function tjek(form) {
//kommenteret ud for test
f = form;
if (f.overskrift.value == "") {
f.overskrift.style.background = '#4b9645'
f.overskrift.focus();
return false;
}

if (f.kategori.value == "") {
f.kategori.style.background = '#4b9645'
f.kategori.focus();
return false;
}

// når alt er ok:
return true;
</script>
Avatar billede majbom Novice
25. oktober 2010 - 20:55 #5
altså den går bare til action.php?

kan du ikke smide en alert i hver if-sætning for at se om den kommer derind? jeg synes ikke lige jeg kan se nogle fejl...
Avatar billede Slettet bruger
26. oktober 2010 - 12:53 #6
Ja, den går direkte til action.php
Er der ikke allerede en alert i hver sætning? Jeg forstår ikke hvad du mener.
Avatar billede majbom Novice
26. oktober 2010 - 13:01 #7
problemet er, at hvis der er den mindste fejl i sådan et script, springer den bare det hele over og submitter formen... har du et link til siden, så kan det være nemmere lige at finde en fejl...
Avatar billede Slettet bruger
26. oktober 2010 - 13:19 #8
Avatar billede majbom Novice
26. oktober 2010 - 13:31 #9
ja okay...

du mangler lige en slut-tuborg imellem disse to linjer:

return true;
</script>


så det skal stå sådan her:

return true;
}
</script>
Avatar billede Slettet bruger
26. oktober 2010 - 17:20 #10
øv, den virker stadig ikke :(
Avatar billede majbom Novice
27. oktober 2010 - 09:16 #11
din funktion hedder 'tjek' og i dit form-tag kalder du funktionen 'checkform' - det skal naturligvis være ens begge steder...
Avatar billede Slettet bruger
28. oktober 2010 - 19:43 #12
SÅDAN :)

Splazz, angiv svar for point :)
Avatar billede majbom Novice
28. oktober 2010 - 22:05 #13
:)
Avatar billede Slettet bruger
31. oktober 2010 - 12:21 #14
Ska du ikk ha point?
Avatar billede majbom Novice
31. oktober 2010 - 19:06 #15
#13 skulle have været et svar... :)
Avatar billede majbom Novice
11. november 2010 - 09:09 #16
tfp :)
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