[JS] 2 onsubmit codes, kan dit?

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
Ik ben met een simpel formpje bezig, dit formpjes moet gecontroleerd worden of de waardes zijn ingevuld, dit werkt verders prima. Echter in hetzelfde formpje staat ook een checkbox (agree terms) wat ook aangevinkt moet worden om verder te gaan.
Het probleem is nu dat ik niet beide gelijktijdig kan controleren, het is dus of de verplichte text velden of de checkbox

Stukje code wat ik nu gebruik is: (dit werkt dus)

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function checkrequired(which) {
var pass=true;
if (document.images) {
for (i=0;i<which.length;i++) {
var tempobj=which.elements[i];
if (tempobj.name.substring(0,8)=="required") {
if (((tempobj.type=="text"||tempobj.type=="texarea"||f.agree.checked == false)&&
tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
tempobj.selectedIndex==0)) {
pass=false;
break;
         }
      }
   }
}

if (!pass) {
shortFieldName=tempobj.name.substring(8,30).toUpperCase();
alert('<? echo""._FIELDEMPTY.""; ?>');
return false;
}
else
return true;
}


De code die werkt voor de checkbox is:
JavaScript:
1
2
3
4
5
6
7
8
function checkCheckBox(f){
if (f.agree.checked == false )
{
alert('<? echo""._TERMACC.""; ?>');
return false;
}else
return true;
}


Ik trigger deze dus met onsubmit="return checkCheckBox(this)" voor de checkbox of onsubmit="return checkrequired(this)" voor de verplichte velden.
Als ik dus deze wil triggeren kan ik maar 1 van de 2 triggeren terwijl ik ze beide gelijkttijdig wil triggeren, dus als alles is ingevuld moet ook gekeken worden of men akkoord is met de voorwaarde.
Ik heb al geprobeert om beide scripjes te combineren maar dan werkt het script niet meer.

Ik ben een echte noob in javascript, gebruik het zelf zelden maar moet het nu hebben voor dit formpje, iemand een idee hoe dit eenvoudig is op te lossen?

Acties:
  • 0 Henk 'm!

  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Je kan binnen een functie andere functies aanroepen:
JavaScript:
1
2
3
4
function validateForm() {
  checkrequired();
  checkCheckBox();
}


Dit mogelijk combineren met if else clausules etc. Al met al heel erg basic :)

[ Voor 20% gewijzigd door Rowanov op 24-09-2006 17:59 ]


Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
dat had ik al geprobeert maar dat werk niet

ik had dus ook gedaan

JavaScript:
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
function checkrequired(which) {
var pass=true;
if (document.images) {
for (i=0;i<which.length;i++) {
var tempobj=which.elements[i];
if (tempobj.name.substring(0,8)=="required") {
if (((tempobj.type=="text"||tempobj.type=="texarea"||f.agree.checked == false)&&
tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
tempobj.selectedIndex==0)) {
pass=false;
break;
         }
      }
   }
}

if (!pass) {
shortFieldName=tempobj.name.substring(8,30).toUpperCase();
alert('<? echo""._FIELDEMPTY.""; ?>');
return false;
}
else
return true;
checkCheckBox();
}


Maar dan checked ie niet of de checkbox is gebruikt

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:57

gorgi_19

Kruimeltjes zijn weer op :9

Je moet dan wel de parameter meegeven

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
dat had ik checkCheckBox(f); ipv checkCheckBox(); maar dan doet ie nog niks of bedoel je wat anders?
Ik snap er namelijk geen moer van......

[ Voor 31% gewijzigd door Anoniem: 36681 op 24-09-2006 18:13 ]


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:57

gorgi_19

Kruimeltjes zijn weer op :9

Anoniem: 36681 schreef op zondag 24 september 2006 @ 18:11:
dat had ik checkCheckBox(f); ipv checkCheckBox(); maar dan doet ie nog niks of bedoel je wat anders?
Ik snap er namelijk geen moer van......
In je code definieer je nergens f :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
Nee nergens.....

In de form checkbox staat alleen: onsubmit=\"return checkCheckBox(this)\"
Verders niets, dan alleen dat stukje javascript code, de "f" wordt nergens gedefineerd...

De hele code van de checkbox is
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function checkCheckBox(f){
if (f.agree.checked == false )
{
alert('<? echo""._TERMACC.""; ?>');
return false;
}else
return true;
}

<form method=\"post\" action=\"index.php\" onsubmit=\"return checkCheckBox(this)\">
bla bla hele form
<input type=\"checkbox\" value=\"0\" name=\"agree\">
bla bla submit </form>


Dat is dus alles....

[ Voor 14% gewijzigd door Anoniem: 36681 op 24-09-2006 18:34 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Anoniem: 36681 schreef op zondag 24 september 2006 @ 17:52:
Ik trigger deze dus met onsubmit="return checkCheckBox(this)" voor de checkbox of onsubmit="return checkrequired(this)" voor de verplichte velden.
JavaScript:
1
onsubmit="return (checkCheckBox(this) AND checkrequired(this) );"


Kan zijn dat 'AND' '&&' ofzo is in JS.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 10:30

André

Analytics dude

Dit is toch vrij basic materiaal en goed te vinden in de search.
Pagina: 1

Dit topic is gesloten.