[JS] form validatie ook via een link

Pagina: 1
Acties:

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 06-08 11:27
Om grafische redenen ziet mijn formulier er zo uit :

code:
1
2
3
4
<form action="das.asp" onsubmit="return Check()" name="dasform">
  <input type="text" name="search">
  <a href="javascript:Check(); document.dasform.submit();">zoek</a>
</form>


Met in de Check() een simpele controle met return false/true.
Nu werkt het natuurlijk wel als ik een tekst ingeef en op enter klik, maar als ik op zoek klik dan werkt de validatie niet. Hij gaat daar natuurlijk mooi die Check functie uitvoeren en de alert() wel doen als er een fout is, maar hij gaat ook de submit uitvoeren. De code zoals hij hier staat is zeker fout, maar ik weet ook niet hoe ik het wel zou moeten zetten. Ik heb al vanalles geprobeerd en ik heb hier ook al zitten zoeken, maar het lukt me maar niet...

Suggesties ?

Alvast bedankt ! _/-\o_

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 18:29
Je moet in je functie die submit() zetten afhankelijk van het feit of het true of false is.

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 06-08 11:27
Maar gaat dat geen conflicten geven met de "normale" submit? Als ik namelijk na iets in te geven gewoon op enter duw dan gaat hij wel de gewone submit uitvoeren...

edit:

even getest :

[code]
function Check() {
if (document.dasform.search.value == "") {
alert("U moet een zoekstring ingeven!");
return false;
}
else document.dasform.submit();
}
[/code]

dit geeft als je een fout maakt via het javascript een blanco pagina met gewoon "false" in...

[ Voor 60% gewijzigd door codemann op 10-10-2003 18:23 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

HTML:
1
<a href="javascript://" onclick="if (Check()) document.forms['dasform'].submit();">zoek</a>


oftewel gewoon ook gebruik maken van de returnvalue van je functie ;)

Intentionally left blank


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
gewoon twee functies maken

function val_form(){
// de validatie van je velden
}

function verzend(){
if(val_form()){document.all.form.submit();}
}

in je form tag een onsubmit="return val_frm()" toevoegen

je linkje href="javascript:verzend();"

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

FvKnijff schreef op 10 oktober 2003 @ 19:39:
gewoon twee functies maken

function val_form(){
// de validatie van je velden
}

function verzend(){
if(val_form()){document.all.form.submit();}
}

in je form tag een onsubmit="return val_frm()" toevoegen

je linkje href="javascript:verzend();"
document.all??? onder welke steen heb jij geleefd de afgelopen 4 jaar? ;)

Intentionally left blank


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
crisp schreef op 10 October 2003 @ 19:40:
[...]

document.all??? onder welke steen heb jij geleefd de afgelopen 4 jaar? ;)
jaja, ik geloof dat je dat met zoiets als getElementById moet doen, heb het mezelf zo aangeleerd en onder i.e. werkt het :+ (oww zijn er ook andere browsers ;) )

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:21

crisp

Devver

Pixelated

FvKnijff schreef op 10 oktober 2003 @ 19:46:
[...]


jaja, ik geloof dat je dat met zoiets als getElementById moet doen, heb het mezelf zo aangeleerd en onder i.e. werkt het :+ (oww zijn er ook andere browsers ;) )
dit werkt overal, ook in IE4 en NS4:

JavaScript:
1
document.forms['naamvanjeform'].submit();


;)

Intentionally left blank


  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 06-08 11:27
ok bedankt, dit ga ik maandag op het werk proberen.. jullie horen nog van me ;)

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 06-08 11:27
crisp schreef op 10 October 2003 @ 18:39:
HTML:
1
<a href="javascript://" onclick="if (Check()) document.forms['dasform'].submit();">zoek</a>


oftewel gewoon ook gebruik maken van de returnvalue van je functie ;)
You rule ! Bedankt ! _/-\o_

[ Voor 12% gewijzigd door codemann op 13-10-2003 08:43 ]

Pagina: 1