Toon posts:

Javascript validatie & PHP

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo medewebdesigners,

Het is nu niet dat ik totaal nOOb ben maar ik heb denk ik toch ff jullie kennis nodig.

Ik heb een formulier gemaakt dat gevalideerd wordt via javascript. Als je bv iets vergeet krijg je een dialoogje: [javascript toepassing]
(gele driehoek met !) vul aub je naam in.

De verzending gaat via een PHP script.( naar mijn mailbox). Maw alles gaat prima.

MAAR je bent een tweaker of niet, dus het moet nog beter ;)

Kan je ook verzenden via javascript?En hoe? (een paar goeie sites zijn steeds welkom)
Is het mogelijk het dialoogje aan te passen? Ipv een gele driehoek een rood kruis (bijvoorbeeld).
Kan de naam van de dialoog anders? ipv [javascript toepassing], [controle]

En hoe krijgen ze in hemelsnaam zo een rood sterretje naast het vergeten, of fout ingevulde, veld. (doet men dit met PHP, javascript, nog iets anders?)

Alvast bedankt!!

Kerst en nieuwjaars wensen,

Jeroen

  • Room42
  • Registratie: September 2001
  • Niet online
Voor het (beetje leesbaar) mailen is een serverside script nodig, dat kan niet met javascript omdat dan de client een smtp server moet worden, en wellicht zit die gebruiker achter een firewall waarbij die poort (25) dicht zit.

Rood sterretje kan met zowel PHP als Javascript, en mijn voorkeur gaat uit naar de laatste omdat dan het formulier nog niet verzonden hoeft te worden. Eigenlijk is het heel simpel: Laat gewoon een span met dat rode sterretje daarin zichtbaar worden dmv css:

object.style.display = 'block';

Die moet je dus in de css display:none meegeven

[ Voor 44% gewijzigd door Room42 op 28-12-2004 14:00 ]

Koop al mijn ads!


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 08:29
Verzenden met js? document.getElementById('idvanjeform').submit();
Dialoog aanpassen? Maak een divje wat je zelf vormgeeft en je laat verschijnen.
Rood sterretje? Zet achter elke invoer een sterretje met style="display:none" als het veld fout is laat je dit zien met JS.

Jij ook de beste wensen zoals tweakers dat permanent al doen ;)

Verwijderd

Room42 schreef op dinsdag 28 december 2004 @ 13:55:
Rood sterretje kan met zowel PHP als Javascript, en mijn voorkeur gaat uit naar de laatste omdat dan het formulier nog niet verzonden hoeft te worden. Eigenlijk is het heel simpel: Laat gewoon een span met dat rode sterretje daarin zichtbaar worden dmv css:
Dat is een goede manier inderdaad maar ik zou het iets anders aanpakken. Stel dat je vraag/input combinaties zo zijn opgemaakt:
HTML:
1
2
3
4
<div>
    <label for="naam">Naam</label>
    <input type="text" id="naam" name="naam"/>
</div>

Dan kun je in je JS door de inputs heen loopen, en voor elke input de parent (in dit geval de DIV) een andere CSS className geven. In je CSS kun je dan eenvoudig de bijbehorende styles opgeven.
JavaScript:
1
2
3
4
5
6
7
8
9
// pseudo-JS:
for(var i in myForm.elements) {
    var bValid = checkValid(myForm.elements[i]);
    var oParent = myForm.elements[i].parentNode;
    if(!bValid)
        oParent.className = 'Invalid';
    else
        oParent.className = '';
}

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
div.Invalid {
    background-image:url(ster.gif);
    background-repeat:no-repeat;
    color:red;
}

div.Invalid input {
    border-color:red;
}


Voordeel? Je kunt meerdere styling properties op meerdere elementen in één keer aanpassen en resetten als nodig.

[ Voor 5% gewijzigd door Verwijderd op 28-12-2004 14:16 ]


  • darkrain
  • Registratie: Augustus 2001
  • Laatst online: 11:34

darkrain

Moderator Discord / General Chat

Geniet. Punt.

Vergeet niet ook nog in php te controleren of er wel iets ingevuld is.
Javascript kan namelijk uitgezet worden en dan wordt er gewoon een leeg formulier verstuurd.

Tweakers Discord


Verwijderd

Topicstarter
darkrain schreef op dinsdag 28 december 2004 @ 14:19:
Vergeet niet ook nog in php te controleren of er wel iets ingevuld is.
Javascript kan namelijk uitgezet worden en dan wordt er gewoon een leeg formulier verstuurd.
Daarom wou ik initieel alles via PHP doen (controleren én verzenden). Alleen is PHP me nog wat te moeilijk (om te controleren dan):-)

Javascript gaat me wat beter af!

  • Room42
  • Registratie: September 2001
  • Niet online
Mja, ik weet niet of ik dat zo charmant vind...
Zo zou je ook elk sterretje een getal in de Id mee kunnen geven en dan gewoon document.getElementById('sterretje'+i) kunnen gebruiken. Dan gebruik je gewoon tekst, in jouw geval een plaatje.

[ Voor 10% gewijzigd door Room42 op 28-12-2004 14:32 ]

Koop al mijn ads!


Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 28 december 2004 @ 14:15:
[...]


Voordeel? Je kunt meerdere styling properties op meerdere elementen in één keer aanpassen en resetten als nodig.
Goed idee, ik had eigelijk nog niet aan CSS gedacht :+

Het lijkt mij wel de aangewezen manier op zo iet te kunnen verkrijgen. Bedank ik ga met deze info alvast aan de slag!!
Pagina: 1