Dat zou al beter zijn. Het kan nog mooier (code van Crisp als ik 't goed heb):quote:Op zaterdag 8 september 2007 19:52 schreef Chandler het volgende:
Dus eingelijk die XMLHttpRequest eerst proberen en daarna de rest? (zonder controle brouwser!)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | { window.XMLHttpRequest = function() { var types = [ 'Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP' ]; for (var i = 0; i < types.length; i++) { try { return new ActiveXObject(types[i]); } catch(ex) {} } throw "XMLHttpRequest not supported."; } } |
quote:Zou je mij even wat in de richting kunnen duwen van de inefficiente code?
1 2 3 4 5 6 7 8 | { xmlHttp.open('GET', url + data + "&cache=" + saveDate.getTime(), true); } else { xmlHttp.open('GET', url + "?cache=" + saveDate.getTime(), true); } |
1 2 3 4 5 6 7 8 9 10 | { url += data + "&"; } else { url += "?"; } url += "cache=" + saveDate.getTime(); xmlHttp.open('GET', url, true); |
1 2 3 4 5 6 7 8 9 10 | var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { eval(xmlhttp.responseText); } } xmlhttp.open("GET", "ajax_check.php?request=barcodecheck&barcode="+value,true); xmlhttp.send(null); } |
daar hebben we het probleem al, ajax_check werd gecachedquote:Op zondag 9 september 2007 10:56 schreef SuperRembo het volgende:
Wat staat er in xmlhttp.responseText?
Voor productie, ja. Voor het aanleren daarentegen valt er heel wat voor te zeggen om een deel van het wiel zelf uit te vinden (en zo complex was AJAX nou ook weer niet).quote:Op vrijdag 7 september 2007 14:44 schreef Farenji het volgende:
Tip: ga niet zelf het wiel opnieuw uitvinden maar gebruik een goede kant en klare AJAX library.
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 | # fok verwijdert wat backslashes.. header('Cache-Control: no-cache'); header('Pragma: no-cache'); if ( $_GET['barcode'] ) { if ( $_GET['barcode'] == "CO-1337" ) { echo "insRow(1,' <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Smit" />')"; echo "rn"; echo "insRow(2,' <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-23663593" />')"; echo "rn"; echo "barcodeveldColor('found')"; } elseif ( $_GET['barcode'] == "CO-1336" ) { echo "insRow(1,' <img src="images/toptoright.gif" />Naam','<input type="text" name="textfield2" id="textfield2" value="Janssen" />')"; echo "rn"; echo "insRow(2,' <img src="images/toptoright.gif" />Telefoonnummer','<input type="text" name="textfield2" id="textfield2" value="074-26663593" />')"; echo "rn"; echo "barcodeveldColor('found')"; } else { echo "barcodeveldColor('notfound')"; } } else { echo "barcodeveldColor('notfound')"; } ?> |
Dat lijkt me logisch als je nooit rijden verwijderd...quote:Op zondag 9 september 2007 23:26 schreef wobbel het volgende:
1e fout: als ik eerst goede code doe, en dan foute laat ie de rijen van de goede code staan (mag dus niet)
2e fout: als ik meerdere malen een goede code invul blijven de rijen zich opstapelen
maar hoe controleer ik of die rijen al bestaan dan? Ik weet niet waar ik moet beginnen en google geeft me alleen de code om de rijen te verwijderen...quote:Op maandag 10 september 2007 07:31 schreef SuperRembo het volgende:
[..]
Dat lijkt me logisch als je nooit rijden verwijderd...
Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?quote:Op maandag 10 september 2007 19:52 schreef PiRANiA het volgende:
Ey,
Weet iemand waar dat gifje te vinden is uit firefox dat je te zien krijgt als je op het laden van het tebblad wacht?
Ik heb die nodig voor een ajax-site...
hoe extract je die jar?quote:Op maandag 10 september 2007 20:22 schreef SuperRembo het volgende:
[..]
Bedoel je chrome/classic/skin/classic.jar/browser/Thrubber.gif?
Gewoon met winzip/winrar/...quote:
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 | function Kiekeboe_a () { if ( document.getElementById ( 'Barcode' ).value == 'y' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } function Kiekeboe_b () { if ( document.getElementById ( 'Barcode' ).value == 'n' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } </script> |
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 | <h2>Reparatie aanmelden</h2> <form action="#SITE_URL/task_add.php" method="post" name="TaskAdd" id="TaskAdd"> <table width="100%" border="0" cellspacing="0" cellpadding="1"> <tr> <td width="50%" align="left" valign="top">Bevat de PC een barcode?</td> <td width="50%" align="left" valign="top">Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe_a()" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe_b()" /></td> </tr> <tr id="BarcodeVeld" class="BarcodeVerstopt"> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0" id="ReparatieTabel"> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Barcode</td> <td width="50%" align="left" valign="top"><input type="text" name="BarcodeInputVeld" id="BarcodeInputVeld" onBlur="BarcodeCheck(this.value)" style="border: solid #7f9db9 1px;" /> <img src="#SITE_URL/include/images/reload.gif" onclick="BarcodeCheck(document.getElementById ( 'BarcodeInputVeld' ).value)" /></td> </tr> </table> </td> </tr> <tr id="KlantVeld" class="KlantVerstopt"> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Naam</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield2" id="textfield2" /></td> </tr> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Telefoonnummer</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield3" id="textfield3" /></td> </tr> </table> </td> </tr> <tr> <td align="left" valign="top" colspan="2"> </td> </tr> <tr> <td align="center" valign="top" colspan="2"><input type="image" name="imageField" src="#SITE_URL/include/images/buttons/task_toevoegen.jpg"></td> </tr> </table> <input type="hidden" name="sid" value="8f99d96f935336c7b8efb70944ff3105" /></form> </div> |
FF gaf me niks of ik ben blindquote:Op vrijdag 14 september 2007 23:38 schreef SuperRembo het volgende:
Je hebt geen element met id="Barcode", wel met name="Barcode". getElementById("Barcode") levert dus niets op. Alleen IE zoekt bij getElementById niet alleen op id maar ook op name.
(Die fout had je makkelijk zelf kunnen vinden als je naar de foutmelding had gekeken die Firefox geeft)
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 | { if ( document.getElementById ( 'Barcode' ).value == 'y' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } function Kiekeboe_b () { if ( document.getElementById ( 'Barcode' ).value == 'n' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } |
dan zou alleen onderstaande toch ook moeten werken? Dat ik bij beide radiobuttons zelfde functie aanroep? (alleen dat doet ie dus niet)quote:Op zaterdag 15 september 2007 21:07 schreef SuperRembo het volgende:
Beide functies doen eigenlijk hetzelfde: kijken naar de status van de radiobuttons en dan een van de twee velden tonen. Dus dat kan makkelijk in 1 functie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | { if ( document.getElementById ( 'Barcode' ).value == 'y' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } |
Ze doen hetzelfde, ze zijn niet exact hetzelfde (vergelijking met 'y' en 'n'). Doe de HTML erbij en het is, zoals SuperRembo zegt, makkelijk genoeg in 1 functie te plaatsen.quote:Op zondag 16 september 2007 14:22 schreef wobbel het volgende:
[..]
dan zou alleen onderstaande toch ook moeten werken? Dat ik bij beide radiobuttons zelfde functie aanroep? (alleen dat doet ie dus niet)
[ code verwijderd ]
Jups, maar ik heb het al heel veel geprobeerd...maar JS is niet hetzelfde als PHP :')quote:Op zondag 16 september 2007 14:29 schreef Litpho het volgende:
[..]
Ze doen hetzelfde, ze zijn niet exact hetzelfde (vergelijking met 'y' en 'n'). Doe de HTML erbij en het is, zoals SuperRembo zegt, makkelijk genoeg in 1 functie te plaatsen.
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 | <h2>Reparatie aanmelden</h2> <form action="#SITE_URL/task_add.php" method="post" name="TaskAdd" id="TaskAdd"> <table width="100%" border="0" cellspacing="0" cellpadding="1"> <tr> <td width="50%" align="left" valign="top">Bevat de PC een barcode?</td> <td width="50%" align="left" valign="top">Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe_a()" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe_b()" /></td> </tr> <tr id="BarcodeVeld" class="BarcodeVerstopt"> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0" id="ReparatieTabel"> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Barcode</td> <td width="50%" align="left" valign="top"><input type="text" name="BarcodeInputVeld" id="BarcodeInputVeld" onBlur="BarcodeCheck(this.value)" style="border: solid #7f9db9 1px;" /> <img src="#SITE_URL/include/images/reload.gif" onclick="BarcodeCheck(document.getElementById ( 'BarcodeInputVeld' ).value)" /></td> </tr> </table> </td> </tr> <tr id="KlantVeld" class="KlantVerstopt"> <td colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Naam</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield2" id="textfield2" /></td> </tr> <tr> <td width="50%" align="left" valign="top"> <img src="#SITE_URL/include/images/toptoright.gif" />Telefoonnummer</td> <td width="50%" align="left" valign="top"><input type="text" name="textfield3" id="textfield3" /></td> </tr> </table> </td> </tr> <tr> <td align="left" valign="top" colspan="2"> </td> </tr> <tr> <td align="center" valign="top" colspan="2"><input type="image" name="imageField" src="#SITE_URL/include/images/buttons/task_toevoegen.jpg"></td> </tr> </table> <input type="hidden" name="sid" value="8f99d96f935336c7b8efb70944ff3105" /></form> </div> |
Je moet kijken naar welke radiobutton geselecteerd is, dat kan met de checked property. Je moet niet kijken naar de value van een input-radio element, want die verandert niet.quote:Op zondag 16 september 2007 14:22 schreef wobbel het volgende:
[..]
dan zou alleen onderstaande toch ook moeten werken? Dat ik bij beide radiobuttons zelfde functie aanroep? (alleen dat doet ie dus niet)
[ code verwijderd ]
Tenzij je kiekeboe aanroept met this als parameter, dan krijg je wel de waarde mee van de specifieke radiobutton (ipv de geselecteerde waarde van de radiobuttongroup) en bij radiobuttons mag je er in een onclick vanuitgaan dat hij checked is.quote:Op zondag 16 september 2007 14:42 schreef SuperRembo het volgende:
[..]
Je moet kijken naar welke radiobutton geselecteerd is, dat kan met de checked property. Je moet niet kijken naar de value van een input-radio element, want die verandert niet.
1 2 3 4 5 6 7 8 9 10 11 12 | if ( obj.value == 'y' ) { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeKiekeboe'; document.getElementById ( 'KlantVeld' ).className = 'KlantVerstopt'; } else { document.getElementById ( 'BarcodeVeld' ).className = 'BarcodeVerstopt'; document.getElementById ( 'KlantVeld' ).className = 'KlantKiekeboe'; } } |
1 2 3 4 | Ja <input type="radio" name="Barcode" id="radio" value="y" onclick="Kiekeboe(this)" /> Nee <input type="radio" name="Barcode" id="radio2" value="n" onclick="Kiekeboe(this)" /> </td> |
Kijk eens aan, daar heb ik wat aan. Code + uitlegquote:Op zondag 16 september 2007 14:50 schreef Litpho het volgende:
[..]
Tenzij je kiekeboe aanroept met this als parameter, dan krijg je wel de waarde mee van de specifieke radiobutton (ipv de geselecteerde waarde van de radiobuttongroup) en bij radiobuttons mag je er in een onclick vanuitgaan dat hij checked is.
[ code verwijderd ]
[ code verwijderd ]
als ik dan een row toevoeg met JS, hoe geef ik dan een class mee? en dan nog, hoe verwijder ik dan een rij met een bepaalde class?quote:Op maandag 10 september 2007 11:58 schreef SuperRembo het volgende:
Dat kan op allerlei manieren. Je kan de rows collection van de table gerbruiken, je kunt zelf bijhouden welke rows je hebt toegevoegd. Je kunt de rijen die je zelf toevoegt een class geven waar je ze aan kan herkennen. Als je altijd dezelfde velden laat zien dan kan je de velden leeg maken of verbergen, via ajax stuur je alleen de waarden van de velden, niet de hele HTML van de velden zelf.
1 2 3 4 5 6 7 8 9 10 | { var x = document.getElementById('ReparatieTabel').insertRow(row) var y = x.insertCell(0) var z = x.insertCell(1) y.innerHTML = value1 z.innerHTML = value2 } |
Je maakt me niet wijs dat dit niet binnen 5 seconden te vinden is op Google:quote:Op zondag 16 september 2007 18:17 schreef wobbel het volgende:
[..]
als ik dan een row toevoeg met JS, hoe geef ik dan een class mee?
1 |
waar vind je dat allemaal? Ik zou namelijk ook graag willen weten hoe je de id="" instelt van een row die je toevoegtquote:Op maandag 17 september 2007 09:35 schreef CraZaay het volgende:
[..]
Je maakt me niet wijs dat dit niet binnen 5 seconden te vinden is op Google:
[ code verwijderd ]
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |