Da's geen enkel probleemquote:Op vrijdag 23 maart 2007 17:44 schreef veldmuis het volgende:
Ik heb een stukje HTML waarin ik meerdere foto's in dezelfde pagina om de beurt wil weergeven. Kan ik dan in JS iets van een array maken met de bestandsnamen en dat ik dan op 'volgende' kan klikken dat de volgende foto geladen wordt, of eventueel heel het HTML bestand opnieuw inclusief de volgende foto?
1 2 3 4 5 | <script> document.getElementById('tekstveld').innerHTML = "Hoi!"; </script> |
PHP-gegenereerd AJAX met SQL backend natuurlijkquote:Op zaterdag 24 maart 2007 23:00 schreef CraZaay het volgende:
Want dan denk je een betere user experience te bieden door de pagina steeds te herladen?om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Nee, dan denk ik in een kortere tijd een beter werkende pagina te maken. Javascript biedt zeker voordelen, maar het is (met mijn kennis) erg lastig als het snel af moet. Als ik tijd heb ga ik er wel eens naar kijken, voorlopig even niet. Jullie zien me nog terug hier!quote:Op zaterdag 24 maart 2007 23:00 schreef CraZaay het volgende:
Want dan denk je een betere user experience te bieden door de pagina steeds te herladen?om deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies.Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Ik gebruik nog zelden PHP, maar zit dat er voortaan native in ja?quote:Op zaterdag 24 maart 2007 23:01 schreef Litpho het volgende:
[..]
PHP-gegenereerd AJAX met SQL backend natuurlijkom deze externe inhoud weer te geven is het noodzakelijk dat je toestemming geeft voor het gebruik van tracking en social mediacookies..Ja toon me deze inhoudmeer informatie
ik accepteer de cookies.
Geen idee. Ik gebruik absoluut géén PHP, maar je hebt uiteraard niet noodzakelijk een framework nodig om AJAX te implementeren, je loopt alleen zonder het risico dat het na verloop van tijd enigszins onoverzichtelijk wordt.quote:Op maandag 26 maart 2007 13:28 schreef CraZaay het volgende:
[..]
Ik gebruik nog zelden PHP, maar zit dat er voortaan native in ja?
Een copy/paste van mijn huidige situatie:quote:Op woensdag 28 maart 2007 09:41 schreef SuperRembo het volgende:
In Firefox heb je de naturalWidth en naturalHeight properties waarmee je de goede hoogte kan berekenen. In IE kan je even een nieuwe img maken en daar de width en height van opvragen om de echte afmetingen te achterhalen.
Zie de scaleImage functie van FOK:)
1 2 3 | image.src = null; image.src = "http://www.server.com/"+directory+"/"+imageurl+".jpg"; |
1 2 3 | thumb.width = thumb.width / (thumb.height/100);; thumb.height = 100; |
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 38 | { if (str.length > 0) { var url="ajax/updatepulldownEenheid.php?sid=" + Math.random() + "&id=" + str xmlHttp=GetXmlHttpObject(pulldownEenheidChanged) xmlHttp.open("GET", url , true) xmlHttp.send(null) } else { } } function pulldownEenheidChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { // document.getElementById("txtHint").innerHTML=xmlHttp.responseText; hulp = xmlHttp.responseText; hulp = hulp.substring(0,1); //alert(hulp); if (hulp == '#') { //alert(hulp); document.getElementById("eenheid").innerHTML = ' '; } else { document.getElementById("eenheid").innerHTML = xmlHttp.responseText; } } } |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // clear down the dropdown before adding new entries into it. selectfield.options.length = 1; j=0; for (var i=0; i < data.length; i++) { if (data[i] == 'RETURN') { return true; } selectfield.options[j] = new Option(data[i], data[i]); j++; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <textarea id="mytextarea11">my test 1 2 3 </textarea> <textarea id="mytextarea12">my test2 4 5 6</textarea> <br> <input type="button" name="button" value="Submit" onclick="javascript:get(this.parentNode,1);"> </form> <br><br> Server-Response:<br> <hr> <span name="myspan1" id="myspan1">hoi?</span> |
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 | function makePOSTRequest(url, parameters, nr) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anticipated content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents; http_request.open('POST', url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", parameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(parameters); } function alertContents() { if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById("myspan1").innerHTML = result + "<input type="button" name="close" value="sluiten" onClick="sluit(1)">"; // alert("myspan"+nr+""); } else { alert('There was a problem with the request.'); } } if (http_request.readyState == 1) { document.getElementById("myspan1").innerHTML = "<img src='img.gif'>" } if (http_request.readyState == 2) { document.getElementById("myspan1").innerHTML = "<img src='img.gif'>" } if (http_request.readyState == 3) { document.getElementById("myspan1").innerHTML = "<img src='img.gif'>" } } function get(obj, nr) { var poststr = "mytextarea"+nr+"1=" + encodeURI( document.getElementById("mytextarea"+nr+"1").value ) + "&mytextarea"+nr+"2=" + encodeURI( document.getElementById("mytextarea"+nr+"2").value ); makePOSTRequest('update2.php', poststr, nr); } function sluit(nr) { document.getElementById("myspan"+nr).innerHTML = ""; } |
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 | function makePOSTRequest(url, parameters, nr) { http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { // set type accordingly to anticipated content type //http_request.overrideMimeType('text/xml'); http_request.overrideMimeType('text/html'); } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Cannot create XMLHTTP instance'); return false; } http_request.onreadystatechange = alertContents(nr); http_request.open('POST', url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", parameters.length); http_request.setRequestHeader("Connection", "close"); http_request.send(parameters); } function alertContents(nr) { if (http_request.readyState == 4) { if (http_request.status == 200) { //alert(http_request.responseText); result = http_request.responseText; document.getElementById("myspan"+nr+"").innerHTML = result + "<input type="button" name="close" value="sluiten" onClick="sluit("+nr+")">"; // alert("myspan"+nr+""); } else { alert('There was a problem with the request.'); } } if (http_request.readyState == 1) { document.getElementById("myspan"+nr+"").innerHTML = "<img src='img.gif'>" } if (http_request.readyState == 2) { document.getElementById("myspan"+nr+"").innerHTML = "<img src='img.gif'>" } if (http_request.readyState == 3) { document.getElementById("myspan"+nr+"").innerHTML = "<img src='img.gif'>" } } function get(obj, nr) { var poststr = "mytextarea"+nr+"1=" + encodeURI( document.getElementById("mytextarea"+nr+"1").value ) + "&mytextarea"+nr+"2=" + encodeURI( document.getElementById("mytextarea"+nr+"2").value ); makePOSTRequest('update2.php', poststr, nr); } function sluit(nr) { document.getElementById("myspan"+nr).innerHTML = ""; } |
1 2 3 | alertContents(nr); } |
check! :)quote:Op zondag 1 april 2007 10:41 schreef SuperRembo het volgende:
onreadystatechange moet een functie zijn die uitgevoer kan worden als de readystate van de request veranderd. In de oude versie is het inderdaad een functie, in de nieuwe versie wordt de functie alertContents meteen uitgevoerd en het resultaat (null/undefinded) wordt aan onreadystatechange toegekend.
Extra parameters doorgeven kan met behulp van een closure:
[ code verwijderd ]
hoe bedoel je dat? Het is de bedoeling dat er meerdere 'forms' komen (zoals dit dus-->)quote:Als je toch alle gegevens via javascript wil ophalen en de form submit niet gebruikt, dan kan je beter de hele form tag weg laten.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <input id="mytextarea11" value="my test"> <input id="mytextarea12" value="my test"> <input type="button" name="button" value="Submit" onclick="javascript:get(this.parentNode,1);"> </form> <div id="myspan1"></div> meteen wat tekst? <form action="javascript:get(document.getElementById('myform'),2);" name="myform2" id="myform2"> <input id="mytextarea21" value="my test"> <input id="mytextarea22" value="my test"> <input type="button" name="button" value="Submit" onclick="javascript:get(this.parentNode,2);"> </form> <div id="myspan2"></div> meteen wat tekst? |
je bedoelt dmv style="display:none"?quote:In een onclick attribuut hoort javascript te staan, dus "javascript:" is daar overbodig.
Ik zou de sluit-knop gewoon in je html zetten. Standaard is ie verborgen, alleen als je 'm nodig hebt maak je 'm zichtbaar. Dat werkt een stuk makkelijker dan in javascript een hele button in innerHTML zetten. Hetzelfde geldt voor het 'busy' plaatje.
De action van het form doet hetzelfde als de onclick van de submit button. Ik vraag me af of die action überhaupt uitgevoerd wordt.quote:Op zondag 1 april 2007 15:13 schreef qu63 het volgende:
hoe bedoel je dat? Het is de bedoeling dat er meerdere 'forms' komen (zoals dit dus-->)
HTML
Ja.quote:je bedoelt dmv style="display:none"?
wordt idd niet uitgevoerd..quote:Op zondag 1 april 2007 15:59 schreef SuperRembo het volgende:
[..]
De action van het form doet hetzelfde als de onclick van de submit button. Ik vraag me af of die action überhaupt uitgevoerd wordt.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |
Dat begrijpen we, maar is wel erg jammer. Je kunt FOK! namelijk wel gratis LEZEN, maar we kunnen FOK! niet gratis MAKEN. De inkomsten van de advertenties zorgen ervoor dat we de kosten van de site kunnen dragen zodat je ook morgen FOK! nog kunt bezoeken.
Zou je willen overwegen om voor FOK! een uitzondering te maken in je adblocker (of andere middelen die onze ads blokkeren)? Je krijgt deze melding dan nooit meer te zien.
Ja, ik wil fok.nl whitelisten, laat me zien hoe
Ik neem liever een premium account zodat ik geen advertenties hoef te zien (je moet eerst inloggen)
Ja, breng me naar de shop