1 2 3 4 5 6 7 8 9 10 | var which = document.getElementById(which); if (!wich) alert('returning'); return; if (which.style.display=="block") which.style.display="none" else which.style.display="block" } |
dan kan hij dus het element niet vindenquote:
1 2 3 4 5 6 7 8 9 | var hide = document.getElementById(hideid); if (!hide){ alert('returning'); return; } else { hide.style.display = (hide.style.display == "block") ? "none" : "block"; } } |
Het is een goede gewoonte om altijd {} te gebruiken bij if statements. Dat had hier een domme fout gescheeld (afgezien van de typo).quote:
Doe ik ook altijd. Dit was even een snelle aangepaste versie van Desdinova's code.quote:Op donderdag 29 juni 2006 13:27 schreef SuperRembo het volgende:
[..]
Het is een goede gewoonte om altijd {} te gebruiken bij if statements. Dat had hier een domme fout gescheeld (afgezien van de typo).
1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <!-- function confirm_delete(id) { var where_to= confirm("Weet u zeker dat u deze style wilt verwijderen?"); if (where_to== true) { window.location="index.php?action=delete&id="; } else { window.location="#"; } } //--> </SCRIPT> |
1 2 3 | if (confirm("Weet u zeker dat u deze style wilt verwijderen?")) window.location="index.php?action=delete&id="+id; } |
Ja maar dan moet je ze zelf doorgeven bijv in de vorm van GET variabelen in de url.quote:Op zaterdag 15 juli 2006 12:47 schreef Siegfried het volgende:
Kan ik variabelen die ik via een promptbox binnen krijg ook binnen php gebruiken op de een of andere manier?
1 2 3 | document.location="page.php?antwoord=" + escape(antw); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | processXML(POST,'page.php', escape(antw)); function processXML(method, url, data){ if(!request) {var request = new XMLHttpRequest();} request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { //wat je na de post wilt doen } } request.open(method, url, true); request.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT'); request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); request.send(data); } |
makkelijke, maar smerige manier is om met javascript een cookie te zetten en deze in php ($_COOKIE) uit te lezenquote:Op zaterdag 15 juli 2006 13:34 schreef Siegfried het volgende:
Alright, maar op een andere manier gaat niet?
Sowieso niet via post? (get is zo lelijk..)
quote:Op donderdag 3 augustus 2006 14:12 schreef Desdinova het volgende:
Was dit topic effe kwijt zeg
Ik heb een vraag waarvan ik niet weet of het mogelijk is..
Stel, ik heb een lijst met namen;
Henk met de schep
Henk zonder schep
Henk op de bakfiets
Piet op de bakfiets
Peter op de bakfiets
Peter niet op de bakfiets
en een text input (input type = text).
Is het dan mogelijk dat ik een soort autoaanvullen creeer? Dus dat er zodra ik een P in het textveld tik, er automatisch 'eter niet op de bakfiets' achter komt te staan? Uiteraard wil ik dat zodra ik achter de P een i tik, de achtervolgende tekst wordt veranderd in 'et op de bakfiets'. De achtervolgende tekst moet bij aanvulling dus direct geselecteerd worden zodat er overheen geschreven kan worden. Een veelgebruikt principe in windows volgens mij, maar is het ook webbased (en crossbrowser) mogelijk?
Idd. Het is wel mogelijk, maar crossbrowser wordt lastig. IE heeft createTextRange() waarmee je text kunt selecteren, firefox heeft setselectionrange(), maar opera en andere browsers hebben zover ik het weet helemaal niks om text te kunnen selecteren. En zonder die functie wordt het toch weinig nuttigsquote:Op donderdag 3 augustus 2006 15:29 schreef SuperRembo het volgende:
Ja dat kan
Het selecteren van tekst gaat in IE en FF compleet verschillend. Dus success ermee
oh maar dit is ook wel flex! ben heel blijquote:Op donderdag 3 augustus 2006 15:51 schreef ralfie het volgende:
[..]
[..]
Idd. Het is wel mogelijk, maar crossbrowser wordt lastig. IE heeft createTextRange() waarmee je text kunt selecteren, firefox heeft setselectionrange(), maar opera en andere browsers hebben zover ik het weet helemaal niks om text te kunnen selecteren. En zonder die functie wordt het toch weinig nuttigs
wat je wel kunt doen is om een menu te laten sliden met de opties, zoals bijvoorbeeld de googlebar in firefox (om maar ff wat te noemen)
voorbeeldje:
EDIT: linkje ipv code dat de layout minder verneukt
http://www.student.ru.nl/rvanhoorn/files/test.htm
2 bugjes, je moet twee keer klikken op 1 vd alternatieven (ik denk omdat de browser probeert te selecteren, in dat geval moet je dat disablen) en het is lowercase omdat de array met alternatieven anders niet goed gesorteerd wordt (maar dat zou je eventueel bij het schrijven van de array kunnen doen ipv met array.sort() in js)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | { // zet het input formulier op disabled obj.disabled = true; // onderstaande werkt wel obj.style.background='black'; /* onderstaande lijkt te werken, maar werkt eigenlijk niet omdat de achtergrond zwart is, wordt het font automagisch wit. maar het blijft een font met een domme slagschaduw, en als je de achtergrond niet aanpast, werkt het niet */ obj.style.color='white'; } |
1 |
Het ene javascript de andere laten aanroepen. Of nog een derde javascript maken dat de eerste twee 1 voor 1 aanroept.quote:Op dinsdag 8 augustus 2006 19:19 schreef Etcetera het volgende:
is het mogelijk om aan 1 submit knop 2 javascriptjes te hangen? zo ja, hoe??
hmmm klinkt logischquote:Op dinsdag 8 augustus 2006 19:24 schreef HuHu het volgende:
[..]
Het ene javascript de andere laten aanroepen. Of nog een derde javascript maken dat de eerste twee 1 voor 1 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | // Dit stuk script zorgt ervoor dat de ingevoerde naam wordt opgeslagen var naamVeld = document.getElementById ("naamVeld"); var naam = naamVeld.value; var naamCell = document.getElementById ("naamCel"); naamCell.innerHTML = naam; // Dit stuk script zorgt ervoor dat het ingevoerde bedrijf wordt opgeslagen var bedrijfVeld = document.getElementById("bedrijfVeld"); var bedrijf = bedrijfVeld.value; var bedrijfCell = document.getElementById ("bedrijfCel"); bedrijfCell.innerHTML = bedrijf; //Dit stuk script zorgt ervoor dat het ingevulde adres wordt opgeslagen var adresVeld = document.getElementById ("adresVeld"); var adres = adresVeld.value; var adresCell = document.getElementById ("adresCel"); adresCell.innerHTML = adres; //Dit stuk script zorgt ervoor dat de ingevulde cijfers van de postcode worden opgeslagen var postcodecijfersVeld = document.getElementById ("postcodeCijfersVeld"); var postcodecijfers= postcodecijfersVeld.value; var postcodecijfersCell = document.getElementById ("postcodecijfersCel"); postcodecijfersCell.innerHTML = postcodecijfers; //Dit stuk script zorgt ervoor dat de ingevulde postcodeletters worden opgeslagen var postcodelettersVeld = document.getElementById ("postcodeLettersVeld"); var postcodeletters = postcodelettersVeld.value; var postcodelettersCell = document.getElementById ("postcodelettersCel"); postcodelettersCell.innerHTML = postcodeletters; //Dit stuk script zorgt ervoor dat de ingevulde plaats wordt opgegeslagen var plaatsVeld = document.getElementById ("plaatsVeld"); var plaats = plaatsVeld.value; var plaatsCell = document.getElementById ("plaatsCel"); plaatsCell.innerHTML = plaats; // Dit stuk script zorgt ervoor dat het ingevulde telefoonnummer wordt opgeslagen var telefoonVeld = document.getElementById ("telefoonVeld"); var telefoon = telefoonVeld.value; var telefoonCell= document.getElementById ("telefoonCel"); plaatsCell.innerHTML = plaats; //Dit stuk script zorgt ervoor dat de ingevulde functie wordt opgeslagen var functieVeld = document.getElementById ("functieVeld"); var functie = functieVeld.value; var functieCell = document.getElementById ("functieCel"); functieCell.innerHTML = functie //Dit stuk script zorgt ervoor dat de ingevulde extra informatie wordt opgeslagen var infoVeld = document.getElementById ("infoVeld"); var informatie = infoVeld.value; var infoCell = document.getElementById ("inforCel"); infoCell.innerHTML = informatie; return false; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { if ( document.contact.naamVeld.value == "" || document.contact.bedrijfVeld.value == "" || document.contact.adresVeld.value == "" || document.contact.postcodeLettersVeld.value == "" || document.contact.postcodeCijfersVeld.Value == "" || document.contact.plaatsVeld.Value == "" || document.contact.telefoonVeld.Value == "" || document.contact.functieVeld.Value == "" || document.contact.infoVeld.Value == "" ) { alert('Vul alle velden in aub.'); return false; } return true; } |
1 2 3 4 5 6 7 8 9 10 11 12 | { if(controle()) { afhandelen(); return true; } else { return false; } } |
ik ga proberenquote:
Ik heb het nog even aangepast. Ik weet niet wat je wil doen nadat het formulier is afgehandeld? Moet het formulier dan gesubmit worden, of niets gebeuren?quote:Op dinsdag 8 augustus 2006 19:33 schreef Etcetera het volgende:
[..]
ik ga probereniig bedankt (en tot over een paar uur
snap nog steeds niet veel van JS)
je was me een stap voor, het moet namelijk leesbaar zijn onderaan m'n formulier en dat was niet het geval. ff aanpassenquote:Op dinsdag 8 augustus 2006 19:34 schreef HuHu het volgende:
[..]
Ik heb het nog even aangepast. Ik weet niet wat je wil doen nadat het formulier is afgehandeld? Moet het formulier dan gesubmit worden, of niets gebeuren?
Als er niets moet gebeuren, dan moeten beide returns false geven en kan je deze dus onderaan neerzetten in doe_alles().
1 2 3 4 5 6 7 8 | { if(controle()) { afhandelen(); } return false; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | var aantal = plaatjes.length; for(i=0;i<=aantal;i++) { //Vervang foute plaatje voor een goede. var plaatje = plaatjes[i]; if(plaatje.src == "de-foute-url") { plaatje.src = "de-goede-url"; } } |
Bij mij werkt het gewoon. Let wel op dat je het script pas laad nadat de pagina(en dus de plaatjes) is geladen, dus ergens onder aan of in je <body onload="vervang_plaatjes()"> ofzo?quote:Op woensdag 16 augustus 2006 11:10 schreef HuHu het volgende:
Ik wil op een pagina alle afbeeldingen met een-foute-url vervangen door een plaatje met een-goede-url. Daarvoor had ik dit script gemaakt, maar dat werkt niet goed:
[ code verwijderd ]
Maar nu krijg ik: plaatje has no properties. Heeft iemand een suggestie of idee hoe dit goed te doen?
1 2 3 4 5 6 | <script type="javascript"> document.getElementById('plaatje1').src = "home2.gif"; //werkt dus wel document.getElementById('plaatje2').src = "test2.gif"; //werkt dus niet </sript> <img src="test.gif" id="plaatje2"> |
quote:Op woensdag 16 augustus 2006 11:20 schreef t-x-m het volgende:
[..]
Bij mij werkt het gewoon. Let wel op dat je het script pas laad nadat de pagina(en dus de plaatjes) is geladen, dus ergens onder aan of in je <body onload="vervang_plaatjes()"> ofzo?
[ code verwijderd ]
Je kunt hem dus ook wel bovenin laten staan maar dan moet je er een functie van maken. Die je dan weer start in je body onload. Javascript staat een stuk mooier in je head dan ergens anders in je paginaquote:Op woensdag 16 augustus 2006 11:41 schreef HuHu het volgende:
[..]
Ik had 'm helemaal bovenin de pagina gezet. Naar onderen verplaatst en het werkt perfect.
Dank je.
I know, maar de <body> aanpassen gaat helaas niet.quote:Op woensdag 16 augustus 2006 11:51 schreef t-x-m het volgende:
[..]
Je kunt hem dus ook wel bovenin laten staan maar dan moet je er een functie van maken. Die je dan weer start in je body onload. Javascript staat een stuk mooier in je head dan ergens anders in je pagina![]()
1 2 3 | // Deze code wordt uitgevoerd als de pagina geladen is. } |
Ah... dat is nog makkelijker.quote:Op woensdag 16 augustus 2006 13:09 schreef SuperRembo het volgende:
Je hoeft niet de body aan te passen.
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 | <head></head> <body> <form> <textarea name="remark" cols="45" rows="7"></textarea> <input type="button" id="bestellen" value="Bestellen" onClick="document,cookie='remark='+form.remark.value;document.write(form.remark.value);" /> </form> </body> </html> |
1 |
Je kan dus wel newlines opslaan in een cookie. Javasciprt kan blijkbaar geen newlines in vars aan. als je ze escaped werkt het primaquote:Op zaterdag 26 augustus 2006 20:37 schreef fokME2 het volgende:
Je kan in een cookie zover ik weet inderdaad geen newlines opslaan.
Ik vond deze website die wat PHP en Javascript functies naast elkaar gooit (implode en explode bijvoorbeeld). Misschien dat je daar wat mee kunt.
quote:Op zaterdag 26 augustus 2006 21:18 schreef fokME2 het volgende:
Hoe escape je die dan mbv javascript? (nog niet veel ervaring met javascript)
1 |
1 2 | document.frmChannelOptions.elements[radiolala].length |
1 2 3 | var form = document.forms.myForm;// property notatie var form = document.myForm;// verkorte notatie |
Logisch wel jaquote:Op dinsdag 5 september 2006 18:10 schreef SuperRembo het volgende:
Allemaal dezelfde name geven. Simpel
1 2 3 4 | if (location=="http://www.becom.nl/") location="http://www.koldijkbv.nl/becom.html" //--> |
Dat had ik moeten zien jaquote:Op zaterdag 9 september 2006 18:26 schreef ralfie het volgende:
dubbele = teken gebruiken, geen enkel (== vergelijken, = toewijzen van variabele)
Hoe kan ik hierbij in een functie controleren of er iets is geselecteerd, en er dus niet de standaard waarde nog staat?quote:<select name="landen">
<option selected>Kies uw land
<option value="Australie">Australie
<option value="Belgie">Belgie
<option value="Canada">Canada
<option value="Denemarken">Denemarken
<option value="Duitsland">Duitsland
<option value="Engeland">Engeland
<option value="Frankrijk">Frankrijk
<option value="Luxemburg">Luxemburg
<option value="Nederland">Nederland
<option value="Nieuw-Zeeland">Nieuw-Zeeland
</select>
maar dat is duidelijk niet goed.quote:function land(){
// controleer of de gebruiker een waarde heeft ingevoerd
if (document.form1.land.value == true){
//nee
alert('Vul alle verplichte velden in aub');
return false;
}
}
1 2 3 4 5 | if(document.getElementById('landen').selectedIndex=='0') { //Something } |
Thx,quote:
1 2 3 | alert(typeof(obj)); if (typeof(obj)!='undefined'){ |
1 2 3 4 | if (!obj) { // create textarea } |
1 2 3 4 | # in onderstaande functie is het derde argument de post string voor het xmlhttp request ahahCall('url', objId, 'action=editReact&reactId='+reactId+'&reactArea='+ editText, 'returnText'); |
1 2 3 | $_POST["reactArea"]= urldecode($_POST["reactArea"]); ?> |
*kuch* die functie staat er welquote:Op donderdag 14 september 2006 21:41 schreef SuperRembo het volgende:
Je doet in PHP wel een urldecode(), maar je hebt de data niet geurlencode. In javascript kan dat met encodeURIComponent . Die functie bestaat trouwens niet in oudere versies van IE (versie 5 en lager als ik het goed heb). Soms wordt hier de escape() functie gebruikt, maar die gebruikt een andere encoding.
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 | { if(waarde == "yes") { document.getElementById('layer1').style.display = 'None'; document.getElementById('layer2').style.visibility = 'visible'; document.getElementById('layer2').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else if(waarde == "no") { document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'visible'; document.getElementById('layer1').style.display = 'Block'; document.getElementById('command').style.display = 'None'; } else { document.getElementById('layer2').style.visibility = 'hidden'; document.getElementById('layer2').style.display = 'None'; document.getElementById('layer1').style.visibility = 'hidden'; document.getElementById('layer1').style.display = 'None'; document.getElementById('command').style.display = 'None'; } } |
1 2 3 4 5 6 7 | function showDiv(id) { for (var i = 0; i < divs.length; i++) { document.getElementById(divs[i]).style.display = (divs[i] == id ? 'block' : 'none'); } } |
1 2 3 4 5 6 7 | <input type="checkbox" name="allowed[]" value="2"> <input type="checkbox" name="allowed[]" value="2"> <input class="button_140" type="button" value="Toevoegen" onclick="javascript: if (!document.new_page.allowed[].checked){ popupalert('allowed'); } else { this.form.submit(); }"> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | { var non_checked='0'; for (i = 0; i < field.length; i++) if(field[i].checked = false) { var non_checked = '1'; } } if(non_checked) { alert ('je hebt niks geselecteerd'); } } onClick="check_boxes(document.new_page.allowed[])"> |
1 |
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | var non_checked2 = document.forms['new_page'].elements['allowed[]']; for (i = 0; i < non_checked2.length; i++){ if(non_checked2[i].checked == false){ var non_checked = '1'; } else { return true; } } return false; } |
1 2 3 4 5 6 7 8 9 | var non_checked2 = document.forms['new_page'].elements['allowed[]']; for (i = 0; i < non_checked2.length; i++){ if(non_checked2[i].checked == true){ return true; } } return false; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <!-- function disableField(targ,selObj,restore) { if (selObj != 1) { document.form1.emailaddress.disabled=true; } else { document.form1.emailaddress.disabled=false; } } //--> </script> <select name="select" onchange="disableField('parent',this,0)"> <option value="1">Zelf</option> <option value="0">Iedereen</option> <option value="0" selected="selected">Abonnees</option> </select> <input type="text" name="emailaddress"/> |
Je moet de waarde van de dropdown meegeven aan je disableFields() functie, en op basis daarvan gaan togglen.quote:Op woensdag 20 september 2006 00:11 schreef Siegfried het volgende:
Hoe zorg ik ervoor dat als ik in een dropdown menu een bepaalde optie selecteer (bijvoorbeeld: "Anders, namelijk:") dat er dan een eerder disabled textfield enabled wordt.
Als je dan weer een andere optie kiest dan moet ie weer disabled worden.
Ik heb nu dit, maar hij enabled niet meer nadat hij disabled is..
[ code verwijderd ]
1 2 3 | document.forms['form1'].elements['emailaddress'].disabled = (el.value == '1'); } |
1 2 3 4 5 6 7 8 9 | { document.form1.+field.value+.disabled=true; } function enableField(field) { document.form1.+field.value+.disabled=true; } |
1 2 3 4 5 6 7 8 9 | <select name="select"> <option onclick="javascript:disableField(sender-adress)">info@domein.nl</option> <option onclick="javascript:disableField(sender-adress)">noreply@domein.nl</option> <option onclick="javascript:disableField(sender-adress)">nieuwsbrief@domein.nl</option> <option onclick="javascript:enableField(sender-adress)">Anders..</option> </select> <input type="text" name="sender-address"/> </p> |
quote:Op donderdag 21 september 2006 09:56 schreef Siegfried het volgende:
Nou, ik had het eerder werkend met onClick.
Maar dat was slechts voor 1 textfiedl. Nu wilde ik hem herbruikbaar maken..
Hoe dan?quote:Op donderdag 21 september 2006 09:57 schreef Scorpie het volgende:
[..]Ja, en dat kan met de code van SuperRembo!
element kan je meegeven, form kan je vast ook wel wat mee verzinnen, mits je maar google gebruikt...quote:Op donderdag 21 september 2006 10:01 schreef Siegfried het volgende:
[..]
Hoe dan?
Want het form en element staan er vast in..
Hoe maak ik dat variabel?
Denk niet dat ik niet google en niet zelf probeer, maar als je niet waar op te zoeken of wat te proberen dan vind je bar weinig kan ik je vertellenquote:Op donderdag 21 september 2006 11:23 schreef Scorpie het volgende:
[..]
element kan je meegeven, form kan je vast ook wel wat mee verzinnen, mits je maar google gebruikt...
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |