Avatar billede zulaff Nybegynder
14. januar 2009 - 09:59 Der er 7 kommentarer og
1 løsning

Alert virker ikke

Jeg er ved at lave en hjemmeside hvor brugeren skal indtaste oplysninger om navn og adresse mm. Jeg har brugt et javascript jeg fandt på nettet til at checke om felterne er blevet udfyldt, men jeg kan ikke få det til at virke. Er der nogen der kan se hvad fejlen er? Det virkede fint før jeg indstatte skriptet.

Siden kan ses på:

http://www.mad2production.com/EMG-experiment/koleskabe/buy2.php?name=Matsui%20K%C3%B8leskab&id=MUR1107WW&price=2299&style=

og kildekoden er her:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../style.css">
<title>Jacobsen Hvidevarer</title>

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function verify() {
var themessage = "Følgende felter skal udfyldes: ";
if (document.form.first.value=="") {
themessage = themessage + " - First Name";
}
if (document.form.last.value=="") {
themessage = themessage + " -  Last Name";
}
if (document.form.email.value=="") {
themessage = themessage + " -  E-mail";
}
if (document.form.adress.value=="") {
themessage = themessage + " -  E-mail";
}
if (document.form.zipcode.value=="") {
themessage = themessage + " -  E-mail";
}
if (document.form.city.value=="") {
themessage = themessage + " -  E-mail";
}
if (document.form.filial.value!="Århus") {
themessage = themessage + " -  E-mail";
}
//alert if fields are empty and cancel form submit
if (themessage == "Følgende felter skal udfyldes: ") {
document.form.submit();
}
else {
alert(themessage);
return false;
  }
}
//  End -->
</script>
</head>

<body>
<div id="header">
<h1>Jacobsen Hvidevarer</h1>
<h2>-Salg af Køle- og Fryseskabe</h2>
</div>

<h3>Navn og Adresse</h3>

<p>Indtast navn, adresse og afhentningsfilial</p>

<form method="post" action="buy3.php?name=<?php echo $_GET["name"];?>&id=<?php echo $_GET["id"]; ?>&price=<?php echo $_GET["price"]; ?>&style=<?php echo $_GET["style"];?>">
<table>
<tr>
    <td>Fornavn</td>
    <td width="160px"><input type="text" name="first"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>Efternavn</td>
    <td><input type="text" name="last"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>E-mail</td>
    <td><input type="text" name="email"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>Adresse</td>
    <td><input type="text" name="adress"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>Region</td>
    <td><input type="text" /></td>
</tr>
<tr>
    <td>Postnummer</td>
    <td><input type="text" name="zipcode"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>By</td>
    <td><input type="text" name="city"/><font color="#FF0000">*</font></td>
</tr>
<tr>
    <td>Land</td>
    <td><input type="text" /><font color="#FF0000">*</font></td>
</tr>
<?php
    $filename = "city-form" . $_GET["style"] . ".php";
    include($filename);
?>
<tr>
    <td></td>
    <td>
    <input type="button"
        value="Til Betaling"
        onclick="verify();"/>
    </td>
</tr>
</table>
   
</form>

<div id="navigationButtons">
<FORM METHOD="post">

<INPUT TYPE="button"
      VALUE="Tilbage"
    OnClick="history.go( -1 );return true;">

<INPUT TYPE="button"
      VALUE="Frem"
    OnClick="history.go(  1 );return true;">

<input type="button"
    value="Hjem"
    onclick="document.location.href = '../index.html';" />

</FORM>
</div>
</body>
</html>

Jeg håber der er nogen der kan hjælpe. På forhånd tak.
Avatar billede zulaff Nybegynder
14. januar 2009 - 10:01 #1
Ps.: Fejlen er at der nu intet sker når man trykker på "til betaling". Desuden kommer der ikke en meddelelse frem om hvilke felter man mangler at udfylde, hvis de ikke er ordentligt udfyldt.
Avatar billede fant0mas Nybegynder
14. januar 2009 - 10:07 #2
document.form is undefined

Brug firebug til ildræven, den er uundværlig når man debugger js

Jeg ville sætte et id på de inputs, og istedet bruge document.getElementbyId('first')
Avatar billede majbom Novice
14. januar 2009 - 10:21 #3
det ser halvgammelt ud det script dér...

du har ikke noget felt der hedder "filial", så når du prøver at tjekke på det, fejler den.

og prøv at skriv [0] efter document.form - så det bliver til document.form[0].first.value osv...

jeg har skrevet din kode lidt om:

http://pastebin.com/m58ca0ec5
Avatar billede zulaff Nybegynder
14. januar 2009 - 10:39 #4
Tusind tak for hjælpen begge to. Jeg fandt fejlen: der mangler name="form" i

<form method="post" name="form" .......

Så virker det. Jeg prøvede også firebug, jeg tror det er meget godt, selvom jeg ikke lige har fattet det ordentligt endnu. Læg nogle svar begge to, så deler jeg pointene. Tak.
Avatar billede majbom Novice
14. januar 2009 - 10:58 #5
svar!
Avatar billede fant0mas Nybegynder
14. januar 2009 - 11:50 #6
Ellers tak. 150exp er alt for meget for noget så simpelt.
Avatar billede majbom Novice
14. januar 2009 - 12:06 #7
damn, havde heller ikke lige kigget på point da.

nu lægger du lige selv et svar og tager de fleste af de point igen :)
Avatar billede majbom Novice
23. januar 2009 - 23:15 #8
zulaff?
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