Vraag & Antwoord

Webprogrammeren & scripting

Perl / javascript

Anoniem
Olaf Liflaf
7 antwoorden
  • In een CGI script vind ik een javascript dat de invoer controleert van een veld. Het is simpel en werkt goed. Alleen weet ik te weinig van perl / javascript om het uit te breiden met een controle op een punt of een komma. Deze en andere leestekens mogen niet in het veld voorkomen. Anderszins, er mogen alleen maar cijfers in.


    Kan iemand mij helpen ?


    Het huidige script:

    print "var field = form.price;";
    print "var sellprice= parseInt(field.value);";
    print "if (!sellprice) {";
    print "alert('Geef een getal in koopprijs veld ');";
    print "return false;}";


    Bij voorbaat dank,


    Olaf
  • print "var field = form.price;";
    print "var sellprice= parseInt(field.value);";
    print "if (!sellprice || !sellprice.match(/^[0-9]+$/)) {";
    print "alert('Geef een getal in koopprijs veld ');";
    print "return false;}";

    Het maakt verder niet zoveel uit of je in perl of html bezig bent. Perl parsed de code eerst, waarna er javascript en html naar de browser wordt gestuurd. Je kunt sellprice dus niet met perl gaan controleren (zonder opnieuw contact te maken met de server)
  • Jurriaan bedankt zover. Alleen krijg ik nog een javascript error. Ergens ontbreekt een slash ( / ). Enig idee waar ?

    Olaf
  • oh ja, natuurlijk, je moet in de perl-statement nog het dollarteken escapen! Anders gaat Perl uit van een perlvariabele

    print "if (!sellprice || !sellprice.match(/^[0-9]+\$/)) {";
  • Krijg nu een andere melding, 'dat de functie niet wordt ondersteund'.

    Het wordt tijd voor wat Pinkpop nu.

    Olaf
  • En dat komt dan weer doordat je de waarde erboven parseInt(). De method match werkt alleen bij een string. Dus ik zou dat parseInt()wegalen.

    Het is trouwens ook wel zo netjes om alle perlstatements af te sluiten met een \n newline.
  • Jurriaan, wederom mijn dank. Het totale script is in India geschreven. Ik kan het wel volgen maar aanpassen is niet mijn sterkste kant. Ik ben afhankelijk van de experts in deze groep.

    Olaf

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.