Het is wel mogelijk met enkel CSS. Voor IE is dan wel een extra scriptje nodig omdat IE zoals gewoonlijk weer bagger is en de :checked pseudo-class niet ondersteunt. Dit kan waarschijnlijk wel met een unobtrusive scriptje maar daar weet ik het fijne niet van omdat ik nooit met IE werk.quote:Op vrijdag 4 mei 2007 16:17 schreef SlimShady het volgende:
alleen css is dus niet voldoende. javascript is nodig.
er zijn demo's:
http://www.flog.co.nz/lab/ARC/ARC.htm
http://www.hellgatelondon.com/demons/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { display: none; } form input[type="checkbox"] + label[for] { display: block; width: 20px; height: 20px; opacity: 0.7; } form input[type="checkbox"]:checked + label[for] { opacity: 1; } form input[type="checkbox"] + label[for="waarde1"] { background-image: url('images/value1_notchecked.png'); } |
1 2 3 4 5 6 7 8 | <fieldset> <legend>Formulier met plaatjes als checkboxjes</legend> <input type="checkbox" id="value1" name="value1"> <label for="value1"></label> </fieldset> </form> |
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 | function whois(tld, domein) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Geen ajax ondersteuning.. BOOOOH!"); return; } tekenTabel(domein); xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==1 || xmlHttp.readyState==2 || xmlHttp.readyState==3) { document.getElementById(tld).innerHTML="Checking"; } if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById(tld).innerHTML=xmlHttp.responseText; } } xmlHttp.open("GET","test.php"+"?domein="+domein+"&tld="+tld,true); xmlHttp.setRequestHeader("Cache-Control", "no-cache"); xmlHttp.send(null); } function start(domein) { tekenTabel(domein); for(x in array) { whois(array[x], domein); } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } function tekenTabel(domein) { var tabe = ""; tabel='<table width="350" border="0" cellspacing="2" cellpadding="0">'; tabel+='<tr>'; tabel+='<td width="100" class="tdHeader">Tld</td>'; tabel+='<td width="100" class="tdHeader">Beschikbaar</td>'; tabel+='</tr>'; for(x in array) { tabel+='<tr>'; tabel+='<td align="center" valign="top" >'+array[x]+'</td>'; tabel+='<td align="center" valign="top" ><div id="'+array[x]+'"></div></td>'; tabel+='</tr>'; } tabel+='</table>'; document.getElementById("result").innerHTML = tabel; } |
1 2 3 4 5 6 | <input name="txtDomein" id="txtDomein" type="text"> <input name="btnSubmit" type="button" value="whois" onclick="start(document.frmTest.txtDomein.value);"></form> <br> <br> <div id="result"></div> |
1 2 3 4 | <input name="searchFor" type="text" size="10"> <a href="javascript:void(0);" onClick="javascript:search_form_basic.submit();">search</a> </form> |
1 2 3 4 5 6 7 8 9 10 | function runSearch(){ var query = document.getElementById('query').value; query = query.replace(" ","_"); window.location = "http://www.google.nl/" + query + ".html"; } </script> <input type="text" id="query"> <input type="button" onclick="runSearch()"> |
geeft niet, et werktquote:Op zaterdag 5 mei 2007 23:00 schreef Geqxon het volgende:
[ code verwijderd ]
Al ben ik te lui het te runnen
Misschien is het eenvoudiger om hier met een simpele mod_rewrite te werken. Werkt stukken eenvoudiger hierquote:Op zaterdag 5 mei 2007 23:06 schreef mschol het volgende:
[..]
geeft niet, et werkt![]()
--edit--
het grootste gedeelte dan..
als ik }$%$# als string invoer kom ik uit op http://home.mschol.eu/search/ terwijl de javascript alert mij wel de juiste url terug geeft (http://home.mschol.eu/search/}$%$#.html )
even kijken met FF
hmm runsearch is not defined... -> die is opgelost maar nog steeds als je zo'n vreemde url doet, stopt ie...
nou ja jammer, voor latere zorg, bouw wel een extra check in me search..
Is bekend en niet gevaarlijk. Het sessieid wat je ziet is niet eentje waarme je iets kuntquote:Op zondag 6 mei 2007 00:21 schreef GBCHEATER het volgende:
:edit:
Hmz, bug in Replique? Ik krijg elke keer wanneer ik mijn code edit een hidden field bij mijn formulier, met daarin mijn sessieid?
Kreeg hetzelfde antwoord in de bug afdelingquote:Op zondag 6 mei 2007 00:36 schreef cyberstalker het volgende:
[..]
Is bekend en niet gevaarlijk. Het sessieid wat je ziet is niet eentje waarme je iets kunt.
Dat heeft iig mijn layout probleem opgelostquote:Op zondag 6 mei 2007 00:58 schreef Geqxon het volgende:
Ik kan je niet helpen, maar ik raad je aan om je HTML output eerst in een variabele te stoppen, en als je daar mee klaar bent iets in de trant van "innerhtml = output" te doen.
Daarmee wordt gelijk je huidige inhoud overschreden, en je sourcecode is wat netter.
1 |
Daar maak ik me ook zorgen over, kan het uberhaupt wel zoals ik het nu heb gedaan? Wanneer ik zes tld's neem, word alleen de laatste vervangen. Dus ik ben inderdaad bang dat dat het is. Maar hoe zou je dat kunnen oplossen behalve voor elke tld een aparte functie schrijven?quote:Op zondag 6 mei 2007 14:37 schreef SuperRembo het volgende:
GBCHEATER, lopen je httprequests niet door elkaar? Ik bedoel dat bijvoorbeeld het resultaat van de .com check bij het .net resultaat komt te staan. Om dat te controleren zou je wat extra debug info moeten schrijven (in js en php).
Dat heb ik nu dus gedaan:quote:Op zondag 6 mei 2007 14:47 schreef SlimShady het volgende:
nee, één functie die je x keer aanroept.
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 | { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Geen ajax ondersteuning.. BOOOOH!"); return; } xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==1 || xmlHttp.readyState==2 || xmlHttp.readyState==3) { alert(tld+' controle'); document.getElementById(tld).innerHTML="<blink>Checking</blink>"; } if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { alert(tld+' is '+xmlHttp.responseText); if(xmlHttp.responseText == "Bezet" || xmlHttp.responseText == "Onbekend") { document.getElementById("bekijk"+tld).innerHTML = '<a href="http://www.'+domein+'.'+tld+'" target="_blank"><img src="images/bekijk_active.png" alt="Bekijk de pagina van de geregistreerde domein" border="0"></a>'; } if(xmlHttp.responseText == "Bezet") { document.getElementById("informatie"+tld).innerHTML = '<a href="javascript: getInfo('+domein+','+tld+');"><img src="images/info_active.png" alt="Meer informatie" border="0"></a>'; } document.getElementById(tld).innerHTML=xmlHttp.responseText; } } xmlHttp.open("GET","test.php"+"?domein="+domein+"&tld="+tld,true); xmlHttp.setRequestHeader("Cache-Control", "no-cache"); xmlHttp.send(null); } |
Een alert is in een geval als dit niet handig, want het gaat juist om de volgorde waarin dingen (bijna tegelijk) gebeuren. Je kan beter wat loggen in bijvoorbeeld een textarea. (Daar heb ik ooit een scriptje voor gemaakt.)quote:Op zondag 6 mei 2007 14:46 schreef GBCHEATER het volgende:
[..]
Daar maak ik me ook zorgen over, kan het uberhaupt wel zoals ik het nu heb gedaan? Wanneer ik zes tld's neem, word alleen de laatste vervangen. Dus ik ben inderdaad bang dat dat het is. Maar hoe zou je dat kunnen oplossen behalve voor elke tld een aparte functie schrijven?
:edit:
Als ik een alert plaats in xm.Http.readyState 1 t/m3 krijg ik 5 keer voor elke tld een alert. Plaats ik er een in xmlHttp.readystate 4 krijg ik hem alleen voor de laatste.
Mag ik je even bedanken :Xquote:Op zondag 6 mei 2007 16:18 schreef SuperRembo het volgende:
[..]
Een alert is in een geval als dit niet handig, want het gaat juist om de volgorde waarin dingen (bijna tegelijk) gebeuren. Je kan beter wat loggen in bijvoorbeeld een textarea. (Daar heb ik ooit een scriptje voor gemaakt.)
Volgens mij mist er een "var" bij xmlHttp in whois(), ik weet niet of dat echt de oplossing is.
1 |
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 | { var aantalParameters = aantal; var parameters = ''; aantalParameters++; parameters += '<div id="parameterDiv"'+aantalParameters+'>'; parameters += '<tr>'; parameters += '<td align="center">'; parameters += '<table width="450" border="0" cellspacing="0" cellpadding="0">'; parameters += '<tr>'; parameters += '<td class="subHeader"> '; parameters += '</td>'; parameters += '<td class="subHeader">'; parameters += '<div id="parameterTitel'+aantalParameters+'"></div>'; parameters += '</td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td width="100">Type:</td>'; parameters += '<td><input name="txtParamaterType'+aantalParameters+'" id="txtParamaterType'+aantalParameters+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+aantalParameters+')"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td>Naam:</td>'; parameters += '<td><input name="txtParameterNaam'+aantalParameters+'" id="txtParameterNaam'+aantalParameters+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+aantalParameters+')"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td valign="top">Omschrijving:</td>'; parameters += '<td><textarea name="txtParameterOmschrijving'+aantalParameters+'" id="txtParameterOmschrijving'+aantalParameters+'" cols="38" rows="5" class="txt"></textarea></td>'; parameters += '</tr>'; parameters += '</table>'; parameters += '</td>'; parameters += '</tr> '; parameters += '</div>'; document.getElementById("divFunctionParameter").innerHTML += parameters; document.getElementById("divVoegParameterToe").innerHTML = '<a href="javascript: addParameter('+aantalParameters+');">Voeg Toe</a>'; } |
1 2 3 4 5 6 | function start() { document.getElementById("divVoegParameterToe").innerHTML = '<a href="javascript: addParameter(0);">Voeg Toe</a>'; } |
De oplossing was bij een "bijplaatsing" eerst de bestaande parameters opvragen, en daarna de inhoud van de div te overschrijven (ja vies, maar werkt wel):quote:Op zaterdag 12 mei 2007 21:00 schreef super-muffin het volgende:
Je kan ook de oplossing posten :)
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 | function addParameter() { var parameters = ''; //totaal ophogen totaal++; if(totaal != 1) { //oude parameters ophalen for(var x = 1; x < totaal; x++) { parameters += '<div id="parameterDiv'+x+'">'; parameters += '<tr>'; parameters += '<td align="center">'; parameters += '<table width="450" border="0" cellspacing="0" cellpadding="0">'; parameters += '<tr>'; parameters += '<td class="subHeader"> '; parameters += '</td>'; parameters += '<td class="subHeader">'; parameters += '<div id="parameterTitel'+x+'">'+document.getElementById("parameterTitel"+x).innerHTML+'</div>'; parameters += '</td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td width="100">Type:</td>'; parameters += '<td><input name="txtParamaterType'+x+'" id="txtParamaterType'+x+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+x+')" value="'+document.getElementById("txtParamaterType"+x).value+'"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td>Naam:</td>'; parameters += '<td><input name="txtParameterNaam'+x+'" id="txtParameterNaam'+x+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+x+')" value="'+document.getElementById("txtParameterNaam"+x).value+'"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td valign="top">Omschrijving:</td>'; parameters += '<td><textarea name="txtParameterOmschrijving'+x+'" id="txtParameterOmschrijving'+x+'" cols="38" rows="5" class="txt">'+document.getElementById("txtParameterOmschrijving"+x).value+'</textarea></td>'; parameters += '</tr>'; parameters += '</table>'; parameters += '</td>'; parameters += '</tr> '; parameters += '</div>'; } } // nieuwe parameter toevoegen parameters += '<div id="parameterDiv'+totaal+'">'; parameters += '<tr>'; parameters += '<td align="center">'; parameters += '<table width="450" border="0" cellspacing="0" cellpadding="0">'; parameters += '<tr>'; parameters += '<td class="subHeader"> '; parameters += '</td>'; parameters += '<td class="subHeader">'; parameters += '<div id="parameterTitel'+totaal+'"></div>'; parameters += '</td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td width="100">Type:</td>'; parameters += '<td><input name="txtParamaterType'+totaal+'" id="txtParamaterType'+totaal+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+totaal+')"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td>Naam:</td>'; parameters += '<td><input name="txtParameterNaam'+totaal+'" id="txtParameterNaam'+totaal+'" type="text" class="txt" size="51" onkeyup="modifyParameterTitle('+totaal+')"/></td>'; parameters += '</tr>'; parameters += '<tr>'; parameters += '<td valign="top">Omschrijving:</td>'; parameters += '<td><textarea name="txtParameterOmschrijving'+totaal+'" id="txtParameterOmschrijving'+totaal+'" cols="38" rows="5" class="txt"></textarea></td>'; parameters += '</tr>'; parameters += '</table>'; parameters += '</td>'; parameters += '</tr> '; parameters += '</div>'; document.getElementById("divFunctionParameter").innerHTML = parameters; } |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |