1 2 3 4 5 6 7 8 9 10 | var item_array=(one,two,three,for,five,six); foreach value as value{ if value!=class{ document.getElementById(value).className='off'; }else{ document.getelementById(value).className='on'; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | var a = ['foo', 'bar', 'baz']; // Een if heeft altijd haakjes: if (a[0] == 'foo') { alert(a[0]); } // Een gewone loop for (var i = 0; i < a.length; ++i) { alert(a[i]); } // Een "for each" loop for (var i in a) { alert(a[i]); } |
1 2 3 4 5 6 7 8 9 10 11 12 | var items=['one','two','three','four','five','six']; for (var i in items) { if (items[i]==main) { document.getElementById(main).className="on"; }else{ document.getElementById(main).className="off"; } } } |
Omdat het vanaf veel verschillende locaties geincluded moet wordenquote:Op maandag 17 maart 2008 21:16 schreef Swetsenegger het volgende:
waarom gebruik je niet gewoon de marquee tag?
en <!--#include virtual:"lala.html" --> of <?php include("lala.php"); ?> is beide geen optie?quote:Op maandag 17 maart 2008 21:29 schreef wobbel het volgende:
[..]
Omdat het vanaf veel verschillende locaties geincluded moet worden
Niet zo raar dat dat niet werkt, je geeft twee tegenstrijdige commando's. De href wil 'm naar http://www.google.nl verwijzen, de onclick naar http:///index.php?bladiebla . Dat laatste lijkt me sowieso fout, maar dat kun je oplossen door location.pathname te gebruiken.quote:Op woensdag 19 maart 2008 09:39 schreef Chandler het volgende:
Ik wil een link middels onClick naar een andere pagina's verwijzen terwijl er ook een link in de href staat, echter heb ik het zo geprobeerd maar werkte niet.
<a href="http://www.google.nl" onClick="location.href='/index.php?page=link&code=google'; return false;" target="_blank" title="go to google">Google!%</a>
out-links bijhouden gok ik.quote:Op woensdag 19 maart 2008 12:17 schreef mcDavid het volgende:
[..]
Niet zo raar dat dat niet werkt, je geeft twee tegenstrijdige commando's. De href wil 'm naar http://www.google.nl verwijzen, de onclick naar http:///index.php?bladiebla . Dat laatste lijkt me sowieso fout, maar dat kun je oplossen door location.pathname te gebruiken.
Maar wat wil je hier precies mee?
Waarom niet zo?quote:Op woensdag 19 maart 2008 09:39 schreef Chandler het volgende:
en nog een ander iets ;)
1 <a href="http://www.google.nl" onClick="location.href='/index.php?page=link&code=google'; return false;" target="_blank" title="go to google">Google!%</a>
1 |
firefox mayby? @ statusbalkquote:Op woensdag 19 maart 2008 16:56 schreef SuperRembo het volgende:
[..]
Waarom niet zo?
[ code verwijderd ]
Location.href is het volledige adres, inclusief domein. Nee dus.quote:Op woensdag 19 maart 2008 16:49 schreef Chandler het volgende:
Deze manier is handig voor SEO maar ook handig om het aantal out-hits bij te houden.
Overigens is een href icm onClick helemaal niet fout imho location.href zou dan ook moeten werken maar toch gaat er iets fout
Ok. Je wil dus bijhouden op welke links geklikt wordt, maar als je de redirect php pagina direct in de link zet dan wordt de pagina niet goed geindexeerd door search engines.quote:Op woensdag 19 maart 2008 19:02 schreef Chandler het volgende:
mcdavid, ik gebruik altijd location.href waarbij ik een / gebruik voor het script ;)
Omdat de link uit de HREF gefilterd wordt en de onclick zorgt voor het tellen van de hit :)
1 |
IE vraagt dat standaard bij lokaal gehoste scripts, maar ondersteunt javascript verder redelijk goed. Net als firefox.quote:Op woensdag 19 maart 2008 19:17 schreef JJasperO het volgende:
Zou iemand nog wel enig commentaar willen geven over de ondersteuning van browsers? IE bv vraagt namelijk eerst of ik het script wel wens uit te voeren. Iets dat niet echt gebruiksvriendelijk is.
quote:Op woensdag 19 maart 2008 19:15 schreef Chandler het volgende:
Ik wil gewoon graag weten hoe ik de onclick voor laat gaan op de href en de andere vraag, hoe ik een radio button kan selecteren
Ok nu snap ik ook een beetje wat hij wil.quote:Op woensdag 19 maart 2008 19:15 schreef SuperRembo het volgende:
[..]
Ok. Je wil dus bijhouden op welke links geklikt wordt, maar als je de redirect php pagina direct in de link zet dan wordt de pagina niet goed geindexeerd door search engines.
WAT werkt er eigenljik niet, want dit werkt prima?
[ code verwijderd ]
Ik gebruik geen http:// maar alleen een / dit werkt nogmaal heel goed maar nu blijkbaar nietquote:Op woensdag 19 maart 2008 19:15 schreef SuperRembo het volgende:
[..]
Ok. Je wil dus bijhouden op welke links geklikt wordt, maar als je de redirect php pagina direct in de link zet dan wordt de pagina niet goed geindexeerd door search engines.
WAT werkt er eigenljik niet, want dit werkt prima?
[ code verwijderd ]
1 |
Nee omdat je location.href gebruikt, ofwel de gehéle url.quote:Op woensdag 19 maart 2008 19:41 schreef Chandler het volgende:
[..]
Ik gebruik geen http:// maar alleen een / dit werkt nogmaal heel goed maar nu blijkbaar niet
He dat klopt. Kheb de zaak online gezet, aldaar vraagt ie niet om een scriptquote:Op woensdag 19 maart 2008 19:30 schreef mcDavid het volgende:
[..]
IE vraagt dat standaard bij lokaal gehoste scripts, maar ondersteunt javascript verder redelijk goed. Net als firefox.
Opera is ronduit kut met javascript.
Andere browsers heb ik geen ervaring mee.
-edit-
Dat van IE kun je uitzetten bij de internet-opties ofzo als je wilt, of je scripts online testen dan heb je er ook geen last van.
Hm de combi java/css dat je nu weergeeft begrijp ik niet helemaal. Hoe eenvoudiger hoe beter.quote:Op woensdag 19 maart 2008 20:00 schreef mcDavid het volgende:
Over de geluidjes bij onmouseover, ik weet dat het mogelijk is om embeded geluid te stoppen/mute-en door het object met css display:none te geven.
Misschien dat'ie weer gaat afspelen als je 'm display:inline geeft?
-edit-
Ohja niet te vergeten: sites met geluid zuigen. Altijd. Overal. Niet doen.![]()
Waar staat het?quote:Op woensdag 19 maart 2008 20:10 schreef JJasperO het volgende:
[..]
He dat klopt. Kheb de zaak online gezet, aldaar vraagt ie niet om een script. Gek genoeg blokt ie nu 'het downloaden van het bestand'. Laat ik dat toe, dan downloadt IE het .wav bestand. Opera doet dit overigens niet.
Kan ik dit voorkomen?
Gezien en weer wat geleerd, hoe kan ik dan een url zonder het domein te specificeren linken naar de root van het domein / index.phpquote:Op woensdag 19 maart 2008 19:42 schreef mcDavid het volgende:
[..]
Nee omdat je location.href gebruikt, ofwel de gehéle url.
http://www.w3schools.com/htmldom/dom_obj_location.asp
quote:Op woensdag 19 maart 2008 12:17 schreef mcDavid het volgende:
[..]
Niet zo raar dat dat niet werkt, je geeft twee tegenstrijdige commando's. De href wil 'm naar http://www.google.nl verwijzen, de onclick naar http:///index.php?bladiebla . Dat laatste lijkt me sowieso fout, maar dat kun je oplossen door location.pathname te gebruiken.
Maar wat wil je hier precies mee?
quote:Op woensdag 19 maart 2008 19:35 schreef mcDavid het volgende:
[..]
[..]
Ok nu snap ik ook een beetje wat hij wil.
Wat jij doet werkt uiteraard wel omdat je gewoon een domein als url geeft, in plaats van alleen een pathname en die als domein probeert te gebruiken.
Ja ho even 3x is wel genoeg hoor.quote:Op woensdag 19 maart 2008 19:42 schreef mcDavid het volgende:
[..]
Nee omdat je location.href gebruikt, ofwel de gehéle url.
http://www.w3schools.com/htmldom/dom_obj_location.asp
1 2 3 4 5 6 7 8 9 | ...you could find out the pathname property as follows: Code: document.write(location.pathname) Output: /products/enquiries.htm |
1 |
Owja. Het werkt. Nu nog een email validation dingetje....quote:Op zaterdag 22 maart 2008 15:04 schreef DionysuZ het volgende:
this.className
met javascript client side?quote:Op zaterdag 22 maart 2008 15:25 schreef Flaccid het volgende:
[..]
Owja. Het werkt. Nu nog een email validation dingetje....
of serverside met php?quote:var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3})
{1,2}$/;
if (emailRegxp.test(email) != true) {}
quote:if (!eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-z]{2,3}$",$email) { }
Ik denk php, omdat er toch een send scriptje achter zit!quote:Op zaterdag 22 maart 2008 15:35 schreef DionysuZ het volgende:
[..]
met javascript client side?
[..]
of serverside met php?
[..]
Als dit mogelijk zou zijn dan had ik het vast al wel eens gezien bij een reclame popup.quote:Op zondag 23 maart 2008 14:56 schreef mrbombastic het volgende:Is er een mogelijkheid om ook in dit laatste geval alleen een rood knipperend signaal in je taakbalk te krijgen zonder dat de popup naar voren springt?
Is dat handig, dat mootools?quote:Op vrijdag 14 maart 2008 15:46 schreef wobbel het volgende:
Ik ben bezig met MooTools, en het is echt een superframework, maar ik loop tegen iets heel doms aan
Ik heb hier een Ajax formulier die prima werkt:
http://www.dumpzooi.nl/v2/TESTjuh.php
Alleen het probleem is, de response komt in een andere div en dat wil ik niet...ik wil dat het formulier verdwijnt en de output daar komt.
Dus ik wat proberen:
http://www.dumpzooi.nl/v2/TESTjuh2.php
Je krijgt de AJAX throbber wel te zien, en je krijgt ook response terug van PHP ( array { } ) alleen is de $_POST variable helemaal leeg!!!
Is dit op de een of andere manier op te lossen?
Source:
http://www.dumpzooi.nl/v2/TESTjuh.phps
http://www.dumpzooi.nl/v2/TESTjuh2.phps
1 |
Dat is de theorie... volgens mij zitten er nogal wat bugs in verschillende browsers die het wat ingewikkelder maken. Maar dar weet ik het fijne ook niet van.quote:Op dinsdag 1 april 2008 09:45 schreef mcDavid het volgende:
<img onload="functie()" <src="#">
Als de action netjes is ingevuld in het formulier dan stuurt hij deze toch sowieso als javascript is uitgeschakeld of zie ik dat verkeerd? Volgens mij maken ze het wat spannender dan het is of denk ik nu te makkelijk, of lees ik nu verkeerd?quote:wanneer JavaScript uit zou staan in de browser van de gebruiker het
formulier ook verstuurd moet kunnen worden (gebruik het onsubmit
event).
Het is niet wat je denkt...quote:Op woensdag 9 april 2008 15:28 schreef mcDavid het volgende:
Een functie die checked of de gebruiker verder mag?
Al over nagedacht wat er gebeurt als mensen met greasemonkey je functies aan gaan passen?
Ja die bestaat:quote:Op woensdag 9 april 2008 13:32 schreef Pronk het volgende:
Dus mijn vraag is dus eigenlijk, bestaat er in javascript een commando waarmee ik alle lopende functies kan stoppen?
1 |
1 2 3 4 | { ToonOnderdeelX(); } |
Nadat ik deze stappen heb gevolgd ziet mijn HTML en CSS bestand er zo uit:quote:Part 1 - Setup
Lightbox v2.0 uses the Prototype Framework and Scriptaculous Effects Library. You will need to include these three Javascript files in your header.
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
Include the Lightbox CSS file (or append your active stylesheet with the Lightbox styles). <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
Check the CSS and make sure the referenced prevlabel.gif and nextlabel.gif files are in the right location. Also, make sure the loading.gif and closelabel.gif files as referenced near the top of the lightbox.js file are in the right location.
Part 2 - Activate
Add a rel="lightbox" attribute to any link tag to activate the lightbox. For example: <a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
Optional: Use the title attribute if you want to show a caption.
If you have a set of related images that you would like to group, follow step one but additionally include a group name between square brackets in the rel attribute. For example: <a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]">image #2</a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]">image #3</a>
No limits to the number of image sets per page or how many images are allowed in each set. Go nuts!
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <link href="Assets/styles.css" rel="stylesheet" type="text/css" /> <link href="Assets/lightbox.css" rel="stylesheet" type="text/css" media="screen" /> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="js/lightbox.js" type="text/javascript"></script> <script language='JavaScript'> var fileLoadingImage = 'Images/loading.gif'; var fileBottomNavCloseImage = 'Images/closelabel.gif'; </script> </head> <body> <div id="containerDiv"> <div id="rechterDiv"> <div id="reclameDiv"> <h1><img src="Images/Allwheelsimport.gif" width="75" height="38" /></h1> <h1><a href="http://www.allwheelsimport.nl/" target="_blank">ALL WHEELS IMPORT</a></h1> </div> </div> <div id="centerDiv"> <div id="headerDiv"></div> <div id="mainDiv"> <div id="inhoudDiv"><a href="Images/Schilderijen groot/Roodzwarteolifant.jpg"><img src="Images/Schilderijen klein/Roodzwarteolifantklein.jpg" width="144" height="145" rel="lightbox" /></a></div> </div> <div id="footerDiv"></div> </div> <div id="navigatieDiv"> <div id="linksDiv"><a href="index.html">SCHILDERIJEN</a><a href="beaottink.html">BEA OTTINK</a><a href="index.html">KUNSTMARKTEN</a><a href="index.html">CONTACT</a></div> </div> </div> </body> </html> |
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; } #hoverNav{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; } #imageContainer>#hoverNav{ left: 0; } #hoverNav a{ outline: none; } #prevLink, #nextLink{ width: 49%; height: 100%; background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */ display: block; } #prevLink { left: 0; float: left; } #nextLink { right: 0; float: right; } #prevLink:hover, #prevLink:visited:hover { background-image: url(../Images/prevlabel.gif); background-repeat: no-repeat; background-position: left 15%; } #nextLink:hover, #nextLink:visited:hover { background-image: url(../Images/nextlabel.gif); background-repeat: no-repeat; background-position: right 15%; } #imageDataContainer{ font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100% ; } #imageData{ padding:0 10px; color: #666; } #imageData #imageDetails{ width: 70%; float: left; text-align: left; } #imageData #caption{ font-weight: bold; } #imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em; } #imageData #bottomNavClose{ width: 66px; float: right; padding-bottom: 0.7em; outline: none; } #overlay{ position: absolute; top: 0; left: 0; z-index: 90; width: 100%; height: 500px; background-color: #000; } |
1 |
die 10 moet 79,00.quote:Op woensdag 30 april 2008 20:00 schreef Chandler het volgende:
onchange="document.price.value=this.value*10"
1 |
Bedrag is een vaste waarde, 79.00quote:Op woensdag 30 april 2008 20:58 schreef SuperRembo het volgende:
[ code verwijderd ]
Maar dan ga ik er van uit dat je het bedrag met een decimale punt invoert, niet met een komma.
1 |
1 2 | <td width="115"><input disabled="disabled" class="number" name="price" size="5" /></td> |
Great!quote:Op woensdag 30 april 2008 23:35 schreef SuperRembo het volgende:
S-je vergeten, 't moet document.forms[0] zijn.
1 2 3 4 5 6 7 8 9 10 | { if( parseInt(this.value)!=''){ document.forms[0].elements['price'].value = '€ ' + parseInt(this.value) * 79 + ',00' } else { document.forms[0].elements['price'].value = '€ 0,00' } } |
1 |
1 2 3 4 5 6 7 8 9 | { var quantity = parseInt(quantityField.value); if (isNaN(quantity)) quantity = 0; var price = quantity * 79; document.forms[0].elements['price'].value = '¤ ' + price + ',00' } |
hulde!quote:Op donderdag 1 mei 2008 10:57 schreef SuperRembo het volgende:
Dat komt doordat in de functie de betekenis van "this" is veranderd. In de onclick attribuut verwijst "this" naar het element waar de onclick attribuut bij hoort. In jouw functie verwijst "this" naar het object waar de functie bij hoort (waarschijnlijk "window").
[ code verwijderd ]
[ code verwijderd ]
Dat iets niet lukt is inderdaad een bekend probleem.quote:Op vrijdag 2 mei 2008 16:50 schreef Ewaldus het volgende:
[...] het niet lukt. Is dit een bekend probleem[...]
Ben wel benieuwd hoe je het dan gedaan hebt?quote:Op zondag 4 mei 2008 21:27 schreef BugWorks het volgende:
Ik ben bezig met het maken van een invoer formulier (in dit geval voor een poll, bevat invoervelden voor een vraag en 10 antwoord opties). Standaard wil ik het invoerveld voor de vraag/stelling en 2 antwoord opties weergeven, de rest wordt pas zichtbaar als er in het voorgaan antwoordveld getyped wordt.
Dit bovenstaande lukt allemaal. Echter moet ik voor elk invoerveld vooraf aanmaken en aangeven dat hij verborgen moet blijven tot dit veranderd.
Is er niet een manier om dit middels javascript automatisch te laten gebeuren, zeg maar dat een div en invoerveld (<div><input ...></div>) automatisch aangemaakt wordt middels een script. Ik heb al verschillende keren hierop proberen te zoeken maar het lukt me niet om wat te vinden dat lijkt te werken.
Hier is een voorbeeld van hoe ik bovenstaande bedoel: Klik
paginabron bevat alles
Edit
Oplossing is eigenlijk niet meer nodig, heb het al opgelost door het met php te doen.
Om die invoervelden te automatisch aan te laten maken (optie 3 en meer) heb ik het volgende gebruikt:quote:Op maandag 5 mei 2008 00:58 schreef Flaccid het volgende:
[..]
Ben wel benieuwd hoe je het dan gedaan hebt?
1 2 3 4 5 6 7 8 9 10 11 | $max = 10; for($i=3;$i<=$max;$i++) { echo '<tr>'; echo '<td>'; echo '<div id="po'.$i.'" style="display:none">Optie'.$i.': <input id="ipo'.$i.'" type="text" name="pollOption" onkeydown="showNext('.$i.')" onkeyup="emptyCheck('.$i.')" /></div>'; echo '</td>'; echo '</tr>'; } ?> |
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 26 27 28 29 30 31 32 33 34 | <script language="JavaScript"> function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6. { var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) if ((version >= 5.5) && (document.body.filters)) { for(var i=0; i<document.images.length; i++) { var img = document.images[i] var imgName = img.src.toUpperCase() if (imgName.substring(imgName.length-3, imgName.length) == "PNG") { var imgID = (img.id) ? "id='" + img.id + "' " : "" var imgClass = (img.className) ? "class='" + img.className + "' " : "" var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' " var imgStyle = "display:inline-block;" + img.style.cssText if (img.align == "left") imgStyle = "float:left;" + imgStyle if (img.align == "right") imgStyle = "float:right;" + imgStyle if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";" + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader" + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" img.outerHTML = strNewHTML i = i-1 } } } } window.attachEvent("onload", correctPNG); </script> <![endif]--> |
Maar je zet er dus gewoon 10 in je bron. Als je nu 11 antwoorden heb?quote:Op maandag 5 mei 2008 17:04 schreef BugWorks het volgende:
[..]
Om die invoervelden te automatisch aan te laten maken (optie 3 en meer) heb ik het volgende gebruikt:
[ code verwijderd ]
Dit is overigens niet te zien in de broncode van de link die ik eerder meegaf.
1 2 3 4 | var titel = d.title.value; afkort = "string 1" + titel + "string 2"; |
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 26 | var AfkortingDialog = { init : function() { var f = document.forms[0]; // Get the selected contents as text and place it in the input f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'}); }, insert : function() { var d = document.forms[0]; var titel = d.title.value; //tags erbij zetten afkort = "<acronym title="+ titel +">"+tinyMCEPopup.editor.selection.getContent({format : 'text'})+"</acronym>"; // tags met input weer terugsturen tinyMCEPopup.editor.execCommand('mceInsertContent', false, afkort); tinyMCEPopup.close(); } }; tinyMCEPopup.onInit.add(AfkortingDialog.init, AfkortingDialog); |
1 |
1 |
Spammailtje:quote:emails:
Naam: JJasperO
Emailadres: email@adres.nl
Tekstveld: En wat tekst.
co202206-a.almel1.ov.home.nl
Opera/9.26 (Windows NT 6.0; U; nl)
Javascript:quote:crawl-66-249-72-9.googlebot.com
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <!-- function MM_validateForm() { //v4.0 if (document.getElementById){ var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' dient een correct e-mailadres te bevatten.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' dient te worden ingevuld.\n'; } } if (errors) alert('Het contactformulier is niet correct ingevuld:\n'+errors); document.MM_returnValue = (errors == ''); } } //--> </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // Configuration Settings if ($_POST['emails'] == '') { $SendFrom = "Geinteresseerde <info@buitendedoos.nl>"; $SendTo = "info@buitendedoos.nl"; $SubjectLine = "Reactie via creabee.nl"; $ThanksURL = "uwberichtisverzonden.html"; //confirmation page // Build Message Body from Web Form Input foreach ($_POST as $Field=>$Value) $MsgBody .= "$Field: $Value\n"; $MsgBody .= "\n" . @gethostbyaddr($_SERVER["REMOTE_ADDR"]) . "\n" . $_SERVER["HTTP_USER_AGENT"]; $MsgBody = htmlspecialchars($MsgBody, ENT_NOQUOTES); //make safe // Send E-Mail and Direct Browser to Confirmation Page mail($SendTo, $SubjectLine, $MsgBody, "From: $SendFrom"); header("Location: $ThanksURL"); } else { header("Location: http://www.google.com/"); } ?> |
1 2 3 4 | margin-left: -5000px; position: absolute; } |
als je wil dat google daar niet meer komt moet je ff een rel="nofollow" in je link naar 'contact' zettenquote:Op donderdag 12 juni 2008 11:29 schreef JJasperO het volgende:
Ik maak gebruik van een contactformulier met CSS om een invulveld onzichtbaar voor gebruikers te maken. Dit invulveld moet leeg blijven, anders word je geredirect naar een andere website. De zichtbare velden moeten worden ingevuld, daarvoor maak ik gebruik van Javascript.
Het vreemde echter is dat ik nu na een paar dagen al om de dag toch een spam-mailtje ontvang, waarbij helemaal niks is ingevuld! Is javascript met een normale submitknop soms niet voldoende om een bot te dwingen velden in te vullen?
Vb zoals het zou moeten zijn:
[..]
Spammailtje:
[..]
Javascript:
[ code verwijderd ]
PHP
[ code verwijderd ]
CSS
[ code verwijderd ]
Ok de handeling is duidelijk, dank. Begrijp ik uit je reactie ook goed dat het hier niet zozeer gaat om spam, maar een zgn crawler? Ander voorbeeldje van een binnengekomen mail:quote:Op donderdag 12 juni 2008 11:42 schreef PiRANiA het volgende:
[..]
als je wil dat google daar niet meer komt moet je ff een rel="nofollow" in je link naar 'contact' zetten
<a href="Contact/contact.html">CONTACT</a>
\/
<a href="Contact/contact.html" rel="nofollow">CONTACT</a>
Een crawler is toch juist nuttig om op je website te krijgen voor indexering. Alleen vreemd dat deze dan gebruik maakt van het contactformulier dat klaarblijkelijk toch 'lek' is omdat er iets kan worden verstuurd zonder dat de invulvelden zijn ingevuld (met javascript afgedwongen).quote:llf520125.crawl.yahoo.net
Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
Ja, met PHP doen dus.quote:Op donderdag 12 juni 2008 12:16 schreef JJasperO het volgende:
Maar ik maak geen gebruik van javascript om te beveiligen. Ik gebruik CSS en PHP. Javascript is er alleen om er zeker van te zijn dat bezoekers alle velden invullen.
En juist dat is je fout; niet alleen op Javascript rekenen om te kijken welke velden er allemaal ingevuld zijn, ook in PHP doen!quote:Op donderdag 12 juni 2008 12:16 schreef JJasperO het volgende:
Maar ik maak geen gebruik van javascript om te beveiligen. Ik gebruik CSS en PHP. Javascript is er alleen om er zeker van te zijn dat bezoekers alle velden invullen.
quote:Op donderdag 12 juni 2008 12:41 schreef JJasperO het volgende:
Ok. Ook met PHP de zichtbare velden verplicht maken dus. Daar moet ik wel uitkomen. Dank je!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |