[JS] Form submit cancellen*

Pagina: 1
Acties:

  • Goldman
  • Registratie: Juli 2005
  • Laatst online: 17:47
Beste mensen,

met voorbaat dank voor het lezen en eventueel proberen tot het oplossen van dit probleem, ik heb het volgende probleem.

In mijn java-scriptje hieronder moet ik een formulier maken. Dit formulier moet een error geven zodra een deel niet is ingevuld, met uitzondering van het deel van 'Opmerkingen'. Dit werkt zover nog wel.

Zodra je op Verzend Formulier drukt krijg je een melding dat niet alles is ingevuld. Dit klopt ook (als je niet alles hebt ingevuld ;) ). Nu wil ik graag een stop inbouwen zodra je de melding krijgt dat niet alles ingevuld is moet de javascript stoppen en op de huidige pagina blijven. Ik heb van alles geprobeerd. Maar niks werkte, ik ben niet heel erg goed met javascript maar het moet helaas eventjes gebeuren.

Hieronder staat de betreffende javascript.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<html>
<head>
<title>Inschrijfformulier</title>
</head>
<script language="JavaScript">

function controle()
{
 var invoer,i,t;

 for(i=0;i<9;i++)
 {
  invoer=document.forms[0].elements[i].value;
  if(invoer=="")
  {
   t=1
  }
  if(t==1)
  {
   alert("Niet alle velden zijn ingevult")
   break;


}   
  }
    
}
</script>

<BODY BGCOLOR="Black" TEXT="white">

<form method="post" action="java6.htm">

<input type="hidden" name="recipient" value="vhamersma@gmail.com">

<input type="hidden" name="Formulier" value="Formulier ingevuld op mijn site">

<input type="text" name="email" value=""> Uw email adres<br>

<input type="text" name="realname" value=""> Naam<br>
<input type="text" name="realname" value=""> Plaats<br>
<input type="text" name="realname" value=""> Postcode<br>
<input type="text" name="realname" value=""> Telefoon / Mobiel<br>
<input type="button"value="Controle" onclick="controle()">
<input type="reset" value="Wissen">


<br>
Uw opmerkingen stellen wij zeer op prijs:<br>
<textarea name="opmerkingen" cols="40" rows="5"></textarea>
<br>



<br><input type="submit" value="Verzend respons formulier" onclick="controle()">

</form>
<script language="JavaScript">

var begintijd= new Date();
var starttijd=begintijd.getTime();
var timer=new Date(2006,8,10,0,0,0);

function klok()
{
 var jaar;
 var maand;
 var dag;
 var uren;
 var minuten;
 var seconde;
 var verschil;
 var dagen;
 var uren;
 var minuten;
 var seconden;

 var datum=new Date();

 jaar=datum.getFullYear();
 maand=datum.getMonth()+1;
 dag=datum.getDate();
 uren=datum.getHours();
 minuten=datum.getMinutes();
 seconden=datum.getSeconds();

 verschil=Math.floor((timer.getTime()-datum.getTime())/1000);
 totdagen=Math.floor(verschil/(60*60*24));
 toturen=Math.floor(verschil/(60*60));
 totminuten=Math.floor(verschil/(60));
 totseconden=verschil




 window.document.datum.date.value=dag+"-"+maand+"-"+jaar;
 window.document.datum.time.value=uren+":"+minuten+":"+seconden;
 window.document.datum.dagen.value=totdagen+" dagen";

 window.setTimeout('klok()',1000);
}

</script>

<body link="yellow" vlink="lime" bgcolor="000000" text="ffffff" onload="klok()">
<form name="datum">
<input size="10" name="date">


Tijd:
<input size="10" name="time">


Nog:

<input size="10" name="dagen"><br>

Tot het 75 jarig bestaan van de vereniging!

</form>

</body>
</html>


Met vriendelijke groet,

Tjaaaaa...c[_] <- een lege care cup! - D3 Profile


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik zou sowieso gebruik maken van je onsubmit event in je form element ipv onclick op je button ;)

Dan kan je vanuit je functie een return false of return true geven (waarbij de eerste je submit cancelled)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Goldman
  • Registratie: Juli 2005
  • Laatst online: 17:47
hehe, ik kan nu mijn javascript blocken maar hij moet zodra de melding komt stoppen, maar wel veder gaan als er geen melding komt :)

Bedankt alvast voor de suggestie.

Tjaaaaa...c[_] <- een lege care cup! - D3 Profile


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

HTML:
1
<form onsubmit="return validate(this)">

JavaScript:
1
2
3
4
5
6
7
8
function validate(form)
{
  // als fout
  return false;

  // als goed
  return true;
}

zo simpel is het ;)

Intentionally left blank


  • Goldman
  • Registratie: Juli 2005
  • Laatst online: 17:47
Ik moet me zelf echt gaan verdiepen in javascript, ik snap er geen hout van :P

Tjaaaaa...c[_] <- een lege care cup! - D3 Profile


  • om3ega
  • Registratie: Maart 2001
  • Laatst online: 06-04 15:52
Een goede site om te starten is W3schools :)

http://www.w3schools.com/js/default.asp
Pagina: 1