[JS/PHP/HTML]submit probleem door javascript

Pagina: 1
Acties:

  • Pellaagarion
  • Registratie: April 2002
  • Laatst online: 03-12-2025
Ik zit met een probleem. Ik heb een invul formulier en daar moeten mensen hun informatie invullen zoals naam, adres, telefoonnummer. Nu zijn sommige velden verplicht om in te vullen. Dus heb ik een javascriptje die dat controleert. Dat controleren gaat hij doen als er op het submit knop wordt geklikt.

Dit is het submit knopje
code:
1
<input type="submit" name="Submit" value="Volgende stap" onClick="isValid()">


javascript
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function isValid()
{

    if (warnEmpty(f2.p_dhr,"Geslacht")) return false;   
    if (warnEmpty(f2.p_achternaam,"Achternaam / meisjesnaam")) return false;
    
    return true;
}

var mPrefix = "Het veld ";
var mSuffix = " is leeg. \nDit is een verplicht in te vullen veld.";

function warnEmpty (theField, s)
{   
    if( theField.value == "" )
    {       
        theField.focus();
        alert(mPrefix + "'" + s + "'" + mSuffix);
        return true;
    }
    return false;       
}

nu krijg je netjes een schermpje met een fout melding dat je iets niet hebt ingevuld. Maar als je daarna de fout melding weg klikt dan gaat het formulier alsnog door naar de volgende pagina en dat mag niet gebeuren. Dit komt waarschijnlijk omdat het een submit knop is. Ik heb het al met een gewone button
code:
1
<input typ="button">
geprobeerd maar dan worden alle variabele niet opgeslagen in de sessie. Want er wordt ook nog in het volgende formulier gecontroleerd of er wel op het submit knopje wordt geklikt (dit i.v.m met andere problemen te verkomen op de site).

code:
1
if(isset($_POST['Submit']) && !empty($_POST['Submit']))


Moet er een submit functie javascriptje achter die button maar ik weer niet hoe dat werkt of kan ik mijn sumbit knopje zo veranderen dat hij niet door gaat naar de volgende pagina ?

kan iemand mij uit de problemen helpen ??

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Zet de onsubmit in de form tag.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

Javascript Hoort in Webdesign & Graphics, en niet in Programming & Webscripting.

* Janoz gooit 'm over de schutting...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

name="submit" overschrijft de default submit methode van het formulier. Gebruik dus een andere naam voor je submit button.

Sorry, ik las niet goed, het was met een hoofdletter. Daar is geen probleem.

Dit wel:
HTML:
1
<input type="submit" ... onClick="return isValid()">

[ Voor 54% gewijzigd door Verwijderd op 22-03-2004 10:58 ]


  • Pellaagarion
  • Registratie: April 2002
  • Laatst online: 03-12-2025
André schreef op 22 maart 2004 @ 10:45:
Zet de onsubmit in de form tag.
dit heb ik ook al geprobeerd maar dan gaat hij nogsteeds door naar de volgende pagina
Verwijderd schreef op 22 maart 2004 @ 10:56:
name="submit" overschrijft de default submit methode van het formulier. Gebruik dus een andere naam voor je submit button.

Sorry, ik las niet goed, het was met een hoofdletter. Daar is geen probleem.

Dit wel:
HTML:
1
<input type="submit" ... onClick="return isValid()">
nu doet hij het helemaal niet meer controleren. nu gaat hij meteen door naar de volgende pagina en geeft nog een object verwacht fout op de site.

sorry foutje gemaakt. hij werkt nu bedankt _/-\o_

[ Voor 7% gewijzigd door Pellaagarion op 22-03-2004 11:05 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Pellaagarion schreef op 22 maart 2004 @ 11:02:
[...]
sorry foutje gemaakt. hij werkt nu bedankt _/-\o_
Meer informatie? Wat heb je precies gedaan om dit probleem op te lossen? :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 26-05 00:01

Janoz

Moderator Devschuur®

!litemod

De return voor de functie gezet :)

De validatie is echter nu redelijk simpel te omzeilen doordat de validatie alleen wordt gedaan waneer er op de submit knop wordt gedrukt. Gebruik het juiste event. Je wilt immers validaren waneer het form wordt gesubmit, niet waneer er op de submit knop wordt gedrukt (wat dus eigenlijk 2 verschillende dingen zijn). Zet de return isValid() dus liever in je onSubmit event ;).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Janoz schreef op 22 maart 2004 @ 11:20:
De return voor de functie gezet :)

De validatie is echter nu redelijk simpel te omzeilen doordat de validatie alleen wordt gedaan waneer er op de submit knop wordt gedrukt. Gebruik het juiste event. Je wilt immers validaren waneer het form wordt gesubmit, niet waneer er op de submit knop wordt gedrukt (wat dus eigenlijk 2 verschillende dingen zijn). Zet de return isValid() dus liever in je onSubmit event ;).
Inderdaad. Goede reden hiervoor is bijvoorbeeld dat het op enter drukken in een formulier ook tot een submit leidt; maar niet de submitbutton (met bijbehorende onClick plus controle-actie) activeert :)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • Pellaagarion
  • Registratie: April 2002
  • Laatst online: 03-12-2025
Janoz schreef op 22 maart 2004 @ 11:20:
De return voor de functie gezet :)

De validatie is echter nu redelijk simpel te omzeilen doordat de validatie alleen wordt gedaan waneer er op de submit knop wordt gedrukt. Gebruik het juiste event. Je wilt immers validaren waneer het form wordt gesubmit, niet waneer er op de submit knop wordt gedrukt (wat dus eigenlijk 2 verschillende dingen zijn). Zet de return isValid() dus liever in je onSubmit event ;).
het werkt op bijde manieren goed. maar bedankt voor de nuttige informatie. ik kan weer verder met mijn formulier. :)

  • Pellaagarion
  • Registratie: April 2002
  • Laatst online: 03-12-2025
Spider.007 schreef op 22 maart 2004 @ 11:23:
[...]


Inderdaad. Goede reden hiervoor is bijvoorbeeld dat het op enter drukken in een formulier ook tot een submit leidt; maar niet de submitbutton (met bijbehorende onClick plus controle-actie) activeert :)
ik heb de enter gedissabled in het form zodat de mensen niet ineens perongelijk gaan submitten ;)

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 28-02 19:26
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
<script LANGUAGE="JavaScript">
<!--
function checkForm(form) {
//variables
var text = "U heeft de volgende onderdelen niet of onjuist ingevuld:";
var  error = 0;
//check
if(form.Adres.value==""){
text+="\n- Adres veld klopt niet";
error = 1;
}
if(form.naam.value==""){
text+="\n- Naam veld klopt niet";
error = 1;
}

//submit form
if(error != 1){
form.submit()
} else {
alert(text);
}
}
</script>

<form>
<input TYPE="button" VALUE="Verstuur" onClick="checkForm(this.form)">
</form>


Zoiets zou moeten werken. Heb het niet getest!

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart

Pagina: 1