Avatar billede overload.dk Nybegynder
18. august 2000 - 14:40 Der er 16 kommentarer og
1 løsning

LinketSubmit -> Validering (evt. fejl popups) if not -> document.form.submit

Halløj...


Jeg har flg. som jeg ikke kan få til at fungere...:


<a href=\"java script:ValiderForm()\">Send ordre</a>

->

function ValiderForm(){
  if (document.toysform.fornavn.value == \"\") {
      alert(\"Du har ikke udfyldt fornavn-feltet korrekt\");
      document.toysform.fornavn.value = \"\";
      document.toysform.fornavn.focus();
  return false; }

  if (document.toysform.efternavn.value == \"\") {
      alert(\"Du har ikke udfyldt efternavn-feltet korrekt\");
      document.toysform.efternavn.value = \"\";
      document.toysform.efternavn.focus();
  return false; }

  if (document.toysform.adresse.value == \"\") {
      alert(\"Du har ikke udfyldt adresse-feltet korrekt\");
      document.toysform.adresse.value = \"\";
      document.toysform.adresse.focus();
  return false; }

  if (document.toysform.postnr.value == \"\") {
      alert(\"Du har ikke udfyldt postnummeret korrekt\");
      document.toysform.postnr.value = \"\";
      document.toysform.postnr.focus();
  return false; }

  if (document.toysform.by.value == \"\") {
      alert(\"Du har ikke udfyldt by-feltet korrekt\");
      document.toysform.by.value = \"\";
      document.toysform.by.focus();
  return false; }

  document.toysform.submit;
  return true; }

- det virker ikke..

plase help!
Avatar billede mkelle1 Nybegynder
18. august 2000 - 15:14 #1
Så vidt jeg kan se mangler du bare et sæt paranteser:


document.toysform.submit();
Avatar billede erikjacobsen Ekspert
18. august 2000 - 15:15 #2
document.toysform.submit();
Avatar billede erikjacobsen Ekspert
18. august 2000 - 15:18 #3
;-)
Avatar billede overload.dk Nybegynder
18. august 2000 - 15:22 #4
Det virker ikke nej!

- når jeg klikker på Send ordre, får jeg en blank side hvor der står \"false\" i....
Avatar billede overload.dk Nybegynder
18. august 2000 - 16:06 #5
- og hvis jeg udfylder det hele som man skal, står der \"true\".

Avatar billede erikjacobsen Ekspert
18. august 2000 - 17:38 #6
Nå ja, med du kunne da godt lige kvittere for at det VIRKER BEDRE end før!

Du skal kalde den:

            <a href=\"#\" onclick=\"ValiderForm()\">Send ordre</a>
Avatar billede overload.dk Nybegynder
18. august 2000 - 18:02 #7
... :) - der er faktisk ingen forskel, om jeg havde () med eller ej.

men takker alligevel.

prøver lige det andet dér...
Avatar billede overload.dk Nybegynder
18. august 2000 - 18:05 #8
- nu sker der ingen ting...
Avatar billede overload.dk Nybegynder
18. august 2000 - 18:11 #9
- det er ikke noget problem at kalde funktionen!!

Problemet ligger nu i at der slet ikke sker noget når man klikker, hvis vi går et par \"skridt\" tilbage, så var der noget af det der virkede.

Heri lå problemet at browseren åbenbart viser return true <- og \"true\" som output.

Avatar billede mpj Nybegynder
18. august 2000 - 20:10 #10
Jamen så send den til formularvalidering.cgi elelr noget...
Den submitter jo sig selv, og forstætter men at være på siden!
Avatar billede erikjacobsen Ekspert
18. august 2000 - 21:01 #11
Så går vi bare tilbage til \"square one\". Følgende stump virker, så der må
være du ikke fortæller os:

<html>
<head>
<title> Submit </title>
<script language=\"JavaScript\">
function validate() {
  document.form1.submit();
}
</script>

</head>

<body bgcolor=\"#FFFFFF\">

<form method=\"get\" action=\"gryf.asp\" name=\"form1\">
  <input type=text name=\"user\">
  <a href=\"java script:validate()\">submit</a>
</form>

</body>
</html>
Avatar billede overload.dk Nybegynder
19. august 2000 - 11:54 #12
ARH... Gaaaaaab... og Tømmermænd... av...

oki, se her: her har i den fulde kildekode som den ser ud nu:

<html>
  <head>
  <script>
  <!--
  function ValiderForm(){
  if (document.toysform.fornavn.value == \"\") {
      alert(\"Du har ikke udfyldt fornavn-feltet korrekt\");
      document.toysform.fornavn.value = \"\";
      document.toysform.fornavn.focus();
  return false; }

  if (document.toysform.efternavn.value == \"\") {
      alert(\"Du har ikke udfyldt efternavn-feltet korrekt\");
      document.toysform.efternavn.value = \"\";
      document.toysform.efternavn.focus();
  return false; }

  if (document.toysform.adresse.value == \"\") {
      alert(\"Du har ikke udfyldt adresse-feltet korrekt\");
      document.toysform.adresse.value = \"\";
      document.toysform.adresse.focus();
  return false; }

  if (document.toysform.postnr.value == \"\") {
      alert(\"Du har ikke udfyldt postnummeret korrekt\");
      document.toysform.postnr.value = \"\";
      document.toysform.postnr.focus();
  return false; }

  if (document.toysform.by.value == \"\") {
      alert(\"Du har ikke udfyldt by-feltet korrekt\");
      document.toysform.by.value = \"\";
      document.toysform.by.focus(); }

  document.toysform.submit();
  return true; }
</script>
</head>

<body bgcolor=\"#A9D2E6\" background=\"img/bg.gif\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">


        <form method=\"post\" action=\"betaling.asp\" name=\"toysform\">
                <input type=\"text\" name=\"fornavn\" size=\"50\">
                <input type=\"text\" name=\"efternavn\" size=\"50\">
                <input type=\"text\" name=\"adresse\" size=\"50\">
                <input type=\"text\" name=\"postnr\" size=\"50\">
                <input type=\"text\" name=\"by\" size=\"50\">
                <input type=\"text\" name=\"email\" size=\"50\">
                <select name=\"betaling\">
                  <option value=\"Efterkrav\" selected>Efterkrav</option>
                  <option value=\"Check\">Forudbetaling, Check</option>
                  <option value=\"Bankoverførsel\">Forudbetaling, Bankoverførsel</option>
                </select>
                <textarea name=\"kommentar\" cols=\"48\" wrap=\"VIRTUAL\" rows=\"4\"></textarea>

          [<a href=\"cart.asp?command=reset\">Slet alt</a>] [<a href=\"cart.asp?command=back\">K&oslash;b mere</a>] [<a href=\"#\" onClick=\"ValiderForm()\">Send ordre</a>]
        </form>


</body>
</html>

Avatar billede overload.dk Nybegynder
19. august 2000 - 11:57 #13
<html>
  <head>
  <script>
  <!--
  function ValiderForm(){
  if (document.toysform.fornavn.value == \"\") {
      alert(\"Du har ikke udfyldt fornavn-feltet korrekt\");
      document.toysform.fornavn.value = \"\";
      document.toysform.fornavn.focus();
  return false; }

  if (document.toysform.efternavn.value == \"\") {
      alert(\"Du har ikke udfyldt efternavn-feltet korrekt\");
      document.toysform.efternavn.value = \"\";
      document.toysform.efternavn.focus();
  return false; }

  if (document.toysform.adresse.value == \"\") {
      alert(\"Du har ikke udfyldt adresse-feltet korrekt\");
      document.toysform.adresse.value = \"\";
      document.toysform.adresse.focus();
  return false; }

  if (document.toysform.postnr.value == \"\") {
      alert(\"Du har ikke udfyldt postnummeret korrekt\");
      document.toysform.postnr.value = \"\";
      document.toysform.postnr.focus();
  return false; }

  if (document.toysform.by.value == \"\") {
      alert(\"Du har ikke udfyldt by-feltet korrekt\");
      document.toysform.by.value = \"\";
      document.toysform.by.focus(); }

  document.toysform.submit();
  return true; }
</script>
</head>

<body bgcolor=\"#A9D2E6\" background=\"img/bg.gif\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">


        <form method=\"post\" action=\"betaling.asp\" name=\"toysform\">
                <input type=\"text\" name=\"fornavn\" size=\"50\">
                <input type=\"text\" name=\"efternavn\" size=\"50\">
                <input type=\"text\" name=\"adresse\" size=\"50\">
                <input type=\"text\" name=\"postnr\" size=\"50\">
                <input type=\"text\" name=\"by\" size=\"50\">
                <input type=\"text\" name=\"email\" size=\"50\">
                <select name=\"betaling\">
                  <option value=\"Efterkrav\" selected>Efterkrav</option>
                  <option value=\"Check\">Forudbetaling, Check</option>
                  <option value=\"Bankoverførsel\">Forudbetaling, Bankoverførsel</option>
                </select>
                <textarea name=\"kommentar\" cols=\"48\" wrap=\"VIRTUAL\" rows=\"4\"></textarea>

          [<a href=\"cart.asp?command=reset\">Slet alt</a>] [<a href=\"cart.asp?command=back\">K&oslash;b mere</a>] [<a href=\"java script:ValiderForm()\">Send ordre</a>]
        </form>


</body>
</html>

- prøv at gem den på jeres computer, og kør den, så vil I finde ud af, hvis der kommer en fejl validering, dvs. hvis brugeren har glemt at indtaste noget i et felt, melder den ud med en Alertbox ganske som den skal, men derefter viser den en ny side i browseren, hvor der står false.
Derimod hvis alt er som det skal være, viser den ingen alertboxes, også som det skal være, men hopper og på en side hvor der står true istedet.
Avatar billede erikjacobsen Ekspert
19. august 2000 - 14:35 #14
<html>
<head>
<script language=\"JavaScript\">
<!--
function ValiderForm(){
  if (document.toysform.fornavn.value == \"\") {
    alert(\"Du har ikke udfyldt fornavn-feltet korrekt\");
    document.toysform.fornavn.value = \"\";
    document.toysform.fornavn.focus();
  return; }

  if (document.toysform.efternavn.value == \"\") {
    alert(\"Du har ikke udfyldt efternavn-feltet korrekt\");
    document.toysform.efternavn.value = \"\";
    document.toysform.efternavn.focus();
    return; }

  if (document.toysform.adresse.value == \"\") {
    alert(\"Du har ikke udfyldt adresse-feltet korrekt\");
    document.toysform.adresse.value = \"\";
    document.toysform.adresse.focus();
  return; }

  if (document.toysform.postnr.value == \"\") {
    alert(\"Du har ikke udfyldt postnummeret korrekt\");
    document.toysform.postnr.value = \"\";
    document.toysform.postnr.focus();
    return; }

  if (document.toysform.by.value == \"\") {
    alert(\"Du har ikke udfyldt by-feltet korrekt\");
    document.toysform.by.value = \"\";
    document.toysform.by.focus(); }

  document.toysform.submit();
  return; }
//-->
</script>
</head>

<body bgcolor=\"#A9D2E6\" background=\"img/bg.gif\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">

<form method=\"post\" action=\"response.asp\" name=\"toysform\">
<input type=\"text\" name=\"fornavn\" size=\"50\">
<input type=\"text\" name=\"efternavn\" size=\"50\">
<input type=\"text\" name=\"adresse\" size=\"50\">
<input type=\"text\" name=\"postnr\" size=\"50\">
<input type=\"text\" name=\"by\" size=\"50\">
<input type=\"text\" name=\"email\" size=\"50\">
<select name=\"betaling\">
<option value=\"Efterkrav\" selected>Efterkrav</option>
<option value=\"Check\">Forudbetaling, Check</option>
<option value=\"Bankoverførsel\">Forudbetaling, Bankoverførsel</option>
</select>
<textarea name=\"kommentar\" cols=\"48\" wrap=\"VIRTUAL\" rows=\"4\"></textarea>
[<a href=\"cart.asp?command=reset\">Slet alt</a>] [<a href=\"cart.asp?command=back\">K&oslash;b mere</a>] [<a href=\"java script:ValiderForm()\">Send ordre</a>]
</form>

</body>
</html>
Avatar billede overload.dk Nybegynder
19. august 2000 - 16:17 #15
- det var bedre! - men prøv lige selv at udfylde alle felterne - for så vil den ikke submitte når man ellers har gjort som man skal...
Avatar billede overload.dk Nybegynder
19. august 2000 - 16:19 #16
OKAY, dér var jeg lige lidt for hurtig!! - det virker jo fint, havde bare lige glem ændringen i href=\"java script:ValiderForm()\" :)


1K TAK!
Avatar billede erikjacobsen Ekspert
19. august 2000 - 20:46 #17
Nemlig - det kan være lidt overvældende at hælde al sin kode på eksperten i et spørgsmål - men ih altså
hvor kan man så få et hurtigt svar ;-) Læg evt. en link.
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