Multidesk.be » Forums » Webdevelopment & -scripting » [javascript] functie onbekend

  • Pagina
  • [1]
  • 2
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Kilian op vrijdag 31 juli 2009 om 12:37:06.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Hey,

Ik heb weer eens ene klein probleempje.
Ik heb het volgende:
CODE
  1.  
  2. ...
  3. <script src="javascript/inschrijven.js" type="text/javascript"></script>
  4. ...
  5. <tr><td>Land</td><td><select name="land" onchange="nat(this.value);"><option value="1">Belgium</option><option value="2">England</option><option value="other">Other</option></select></td></tr>
  6. ...
  7. <tr><td>textstring('email')</td><td><input type="text" name="email" size="60" onchange="validateEmail(this.value,1,0);" /></td></tr>
  8. ...
  9.  

inschijven.js ziet er zo uit:
CODE
  1.  
  2. function land(land){
  3.         alert('aa');
  4. }
  5. function validateEmail(addr,man,db) {
  6.         if (addr == '' && man) {
  7.                 if (db) alert('Emailadres is verplicht');
  8.                         return false;
  9.         }
  10.         if (addr == '') return true;
  11.                 var invalidChars = '\/\'\ ";:?!()[]\{\}^|';
  12.                 for (i=0; i<invalidChars.length; i++) {
  13.                         if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
  14.                                 if (db) alert('Emailaddress contains illegal characters');
  15.                                         return false;
  16.                         }
  17.                 }
  18.                 for (i=0; i<addr.length; i++) {
  19.                         if (addr.charCodeAt(i)>127) {
  20.                                 if (db) alert("Emailaddress contains strange characters");
  21.                                         return false;
  22.                         }
  23.                 }
  24.  
  25.         var atPos = addr.indexOf('@',0);
  26.         if (atPos == -1) {
  27.                 if (db) alert('An emailaddress has to contain a @');
  28.                         return false;
  29.         }
  30.         if (atPos == 0) {
  31.                 if (db) alert('An emailaddress doens\'t start with a @');
  32.                         return false;
  33.         }
  34.         if (addr.indexOf('@', atPos + 1) > - 1) {
  35.                 if (db) alert('An emailaddress contains only 1 @');
  36.                         return false;
  37.         }
  38.         if (addr.indexOf('.', atPos) == -1) {
  39.                 if (db) alert('An emailaddress has a point is his domainname');
  40.                         return false;
  41.         }
  42.         if (addr.indexOf('@.',0) != -1) {
  43.                 if (db) alert('A point can\'t follow directly on a @');
  44.                         return false;
  45.         }
  46.         if (addr.indexOf('.@',0) != -1){
  47.                 if (db) alert('An @ can\'t follow directly on an point');
  48.                         return false;
  49.         }
  50.         if (addr.indexOf('..',0) != -1) {
  51.                 if (db) alert('2 points can\'t be placed near each other');
  52.                         return false;
  53.         }
  54.         return true;
  55. }
  56.  

De emailcheck werkt wel, maar als ik in de selectbox van m'n landen iets veranderd doet ie het niet. Firebug beweerd dat de functie "land" niet bestaat. Iemand een idee hoe ik dit oplos?

Kilian
^ Reactie #1 geschreven door thekid op vrijdag 31 juli 2009 om 13:25:50.
thekid's avatar
Multiviteit: 5273
Moderator
voor zover ik zie, gebruik je op de onchange de functie nat(this.value) en niet land(this.value) ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door Kilian op vrijdag 31 juli 2009 om 16:14:34.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Oops ja, verkeerd gekopieerd. Het moest natuurlijk het volgende zijn:
CODE
  1.  
  2. ...
  3. <script src="javascript/inschrijven.js" type="text/javascript"></script>
  4. ...
  5. <tr><td>Land</td><td><select name="land" onchange="land(this.value);"><option value="1">Belgium</option><option value="2">England</option><option value="other">Other</option></select></td></tr>
  6. ...
  7. <tr><td>textstring('email')</td><td><input type="text" name="email" size="60" onchange="validateEmail(this.value,1,0);" /></td></tr>
  8. ...
  9.  


Dit werkt echter ook niet :s

Kilian
^ Reactie #3 geschreven door thekid op vrijdag 31 juli 2009 om 16:49:38.
thekid's avatar
Multiviteit: 5273
Moderator
ik zie er niet direct een reden voor waarom het niet zou werken

je bent er zeker van dat je naar de correcte js file verwijst? staat de site online, dan kunnen we het ook eens bekijken, misschien vinden we dan wel iets
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #4 geschreven door Kilian op vrijdag 31 juli 2009 om 16:52:26.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
(Voorlopig) nog niet online. De js zou juist moeten zijn, daar de emailcheck wel werkt...
Ik kijk of ik 'm nergens kan uploaden...

De HTML: http://pastebin.be/20105/ (wachtwoord MD)
Javascript: http://pastebin.be/20106 ( " ")


Ik heb nu wel even de functie veranderd, ik ben er mee aan het prullen om het toch klaar te krijgen
Kilian
Deze tekst werd het laatst bewerkt voor 44.73 % door Kilian op vrijdag 31 juli 2009 om 16:59:16.
^ Reactie #5 geschreven door thekid op vrijdag 31 juli 2009 om 16:56:43.
thekid's avatar
Multiviteit: 5273
Moderator
al eens een ctrl+f5 geprobeerd in firefox? wie weet herlaadt ie uw js file niet direct, ze ziet ook geen andere foutmeldingen in de foutconsole van firefox?
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #6 geschreven door Kilian op vrijdag 31 juli 2009 om 16:59:29.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
**edit**
Firebug console:

Dixit


land is not a function
function onchange(event) { land(this.value); }(change )

ctrl+f5 doet het ook niet...
Deze tekst werd het laatst bewerkt voor 10.56 % door Kilian op vrijdag 31 juli 2009 om 17:01:26.
^ Reactie #7 geschreven door thekid op vrijdag 31 juli 2009 om 17:16:32.
thekid's avatar
Multiviteit: 5273
Moderator
geprobeerd met uw javascript en een klein testscriptje werkt het hier perfect, 'k verwonder mij er sterk aan dat het niet marcheert ...
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #8 geschreven door Cdude op vrijdag 31 juli 2009 om 17:23:47.
Cdude's avatar
Multiviteit: 5427
Eat my shorts :)

Randinformatie


31-07-2009 16:57:44 Anonieme gebruiker (Kilian)(lol)
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
"Friendship is like peeing in your pants : everybody can see it but only u can feel it's warmth"
^ Reactie #9 geschreven door thekid op vrijdag 31 juli 2009 om 17:31:55.
thekid's avatar
Multiviteit: 5273
Moderator
'k zie nu net de online html code van u, maar dat ziet er volgens mij iets anders uit dan je hier had gepost (ivm land dan toch)

heb je daaraan iets veranderd, of zitten testen? Daar zie ik namelijk geen statement van onchange="land(this.value);"?

zo is het een beetje moeilijk volgen hoor :)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #10 geschreven door Kilian op vrijdag 31 juli 2009 om 17:51:22.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Sorry!
Ik had de verkeerde versie geupload. Hier is de juiste.

Raar dat het bij u werkt, bij mij doet het niet veel :s
^ Reactie #11 geschreven door thekid op vrijdag 31 juli 2009 om 17:54:16.
thekid's avatar
Multiviteit: 5273
Moderator
ja, maar opnieuw, in de laatst upgeloade versie staat er geen onchange bij uw select box, wel een onclick in de option element?

verder zou ik uw script tags in de head van het document plaatsen, en ge kunt evt pad aanpassen naar ./javascript/ ipv javascript/ (of /javascript) afhankelijk hoe uw mapstructuur eruit ziet :)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #12 geschreven door Kilian op vrijdag 31 juli 2009 om 17:57:55.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
**update**
Online: http://new.triathlonbrasschaat.com/?page=5

Het doel is dat als je bv. Belgium selecteerd er automatisch belg bij nationaliteit komt. Dit lukt me wel als ik eerst de functie aangeroepen krijg.

Die script tags staan in de body daar de head geincluded wordt uit een ander bestand. Als ik dus daar de javascipt in zet wordt deze iedere keer nodeloos geladen.
W3C reclameerde er toch niet op :d
^ Reactie #13 geschreven door thekid op vrijdag 31 juli 2009 om 18:50:37.
thekid's avatar
Multiviteit: 5273
Moderator
't is idd iets raars, de functie staat gedeclareerd, en wordt idd niet terug gevonden

'k zou zeggen, past voor de zekerheid nog eens aan door scripttag in de head te zetten ('t is geen zo'n gigantische scriptblok, hé) en door een relatief pad (alhoewel, als ik klik in de bron op het scriptje, kan ik er ook perfect naartoe, dusjah) te gebruiken, of plaatst desnoods de script tag eens in je head van je html document om te kijken of het probleem dan wel opgelost wordt)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #14 geschreven door Kilian op vrijdag 31 juli 2009 om 23:48:18.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Nope, head helpt me niet, net als relatief (was het niet absoluut?) pad. Iemand een idee?
^ Reactie #15 geschreven door thekid op zaterdag 1 augustus 2009 om 13:21:32.
thekid's avatar
Multiviteit: 5273
Moderator
absoluut = volledige pad
relatief = op basis van waar je huidige bestand zich bevindt ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #16 geschreven door Kilian op zondag 2 augustus 2009 om 21:43:33.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Awel, het was toch al relatief? Ik heb er nadien absoluut van gemaakt...

Absoluut is onhandig vind ik, als je dan je script op je pc test, en nadien upload moet je alles veranderen. Maar dat lost m'n probleempje niet op :d
^ Reactie #17 geschreven door Kilian op maandag 3 augustus 2009 om 17:13:18.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Gevonden!
Blijkbaar mag een veld niet dezelfde naam hebben als die functie. Hierbij opgelost!

Kilian
^ Reactie #18 geschreven door thekid op maandag 3 augustus 2009 om 18:15:18.
thekid's avatar
Multiviteit: 5273
Moderator
aha, daar had ik niet aan gedacht :)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #19 geschreven door Kilian op maandag 3 augustus 2009 om 21:57:49.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629

Dixit

Dixit Cdude op 03/08/2009 17:23:00 in een PB:
http://www.multidesk.be/forums/onderwerp/116788.1/javascript-functie-onbekend.html#p116877

Blij dat je het gevonden hebt zeker?

Kan je mij eens, in't kiort, vertellen welk veld was = welke functie aub?


Grtz ,
M

Het ging over de functie en het veld "land". Ik heb het opgelost door het veld "land" te hernoemen naar "country". Waarom dit voor problemen zorgde weet ik niet. Wellicht heeft thekid hier een uitleg voor ;)
  • Pagina
  • [1]
  • 2

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen