quote:Op vrijdag 28 januari 2005 10:25 schreef Swetsenegger het volgende:
Javascript helden, wederom een kleine vraag van mijn kant.
Ik heb een form met meerdere invulvelden en meerdere submits.
Nu wil ik bij bepaalde invoervelden de focus op een specifieke submit button krijgen.
Ik heb iets over focus() gelezen, maar hoe doe ik dit precies? Moet ik de invulvelden een ID meegeven of iets dergelijks?
misschien ter verduidelijking.
Wanneer ik een term in een bepaald veld invul, moet bij een enter niet submitknop 1 actief zijn, maar submitknop 2.
1 2 3 4 5 6 | <form> <input type="submit" id="nummer1"> <input type="text" onblur="document.getElementById('nummer1').focus()"> <input type="text" onblur="document.getElementById('nummer2').focus()"> <input type="submit" id="nummer2"> </form> |
Gebruik dan de crossbrowser versie:quote:Op vrijdag 28 januari 2005 12:04 schreef Arjan321 het volgende:
[..]
[ code verwijderd ]
Probeer dat maarDus een unieke ID aan de submit knoppen, en dan focussen als de input geblurd ( O_O ) wordt..
1 2 3 4 5 6 | <form> <input type="submit" id="nummer1" name="submit1" /> <input type="text" onblur="this.form.submit1.focus();" /> <input type="text" onblur="this.form.submit2.focus();" /> <input type="submit" id="nummer2" name="submit2" /> </form> |
Nee dat bedoel ik niet geheel, meer in de zin welke font's wel of niet aanwezig zijn op de meeste systemen.quote:Op vrijdag 28 januari 2005 12:03 schreef Roönaän het volgende:
[..]
Als je als laatste element in de font-family, ofwel serif, danwel sans-serif geeft, werkt het op zich in elke browser natuurlijk (serif, zijn lettertypen met een aanhangseltje aan de pootjes van de letters)
1 2 3 4 | var fonts = new Array("Arial", "Helvetica", "Times New Roman", "Verdana"); |
Bedankt!quote:Op vrijdag 28 januari 2005 13:14 schreef Roönaän het volgende:
Je kan nog op zich onkeypress="this.onchange();" toevoegen.
Het is crossbrowser.. het zal wellicht niet werken in de antieke browsers (versies <= 5), maar dat is niet mijn foutquote:Op vrijdag 28 januari 2005 12:06 schreef Roönaän het volgende:
[..]
Gebruik dan de crossbrowser versie:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function calc_totaal(prods) { var prods = eval(prods); var totaalArray = new Array(prods) for (var aantal=1; aantal<=prods; aantal++) { totaalArray[aantal] = document.getElementById('bedrag'+eval(aantal)).value; } var totaal = 0; for (var i = 0; i <= totaalArray.length; i++) { totaal+= totaalArray[i]; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function getSelected() { theSelection = document.selection.createRange().text; if (!theSelection) { return false; } else if (document.selection.createRange().parentElement().tagName != 'TEXTAREA') { return false; } else { return theSelection; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function getSelected() { // http://www.quirksmode.org/js/selected.html if (window.getSelection) { return window.getSelection(); } else if (document.getSelection) { return document.getSelection(); } else if (document.selection) { return document.selection.createRange().text; } else return; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function insert(start, end) { theSelection = getSelected(); if (!theSelection) { document.forms[0].elements['text'].value += start + end; } else { document.selection.createRange().text = start + theSelection + end; } // document.forms[0].elements['text'].value += start + end; } |
Je eerste loop gaat van 1 t/m prod, je tweede loop gaat van 0 t/m prod.quote:Op vrijdag 28 januari 2005 16:37 schreef markiemark het volgende:
nog steeds even dat van mn vorige post... over het optellen van waarden in een array, ik denk dat ik er aardig uit ben gekomen na de post van Arjan 321, maar het werkt nog steeds niet zoals ik zou willen... ik heb nu dit:
[ code verwijderd ]
maar dat wil niet werken, als ik hem echo met document.write, komt er een nogal vaag getal uit:
NaN1.999.990.89undefined
weet dat het iets te maken heeft met Not a number, maar wat....
Beetje vreemde error die je in je editor in FF krijgt.quote:Op zaterdag 29 januari 2005 21:19 schreef Chandler het volgende:
haha true true SuperRembo, maar nog niet de crossbrouwser oplossingennuh ik ben daar niet gewenst
b.t.w
1 2 3 | Error: document.getElementById("fontSize") has no properties Source File: http://localhost/littleeditor/editor# Line: 156 |
1 2 3 4 5 6 | <?php 156 if (document.getElementById('fontSize').value) 157 { 158 document.getElementById('previewFont').style.fontSize = document.getElementById('fontSize').value + "pt"; 159 } ?> |
1 2 3 4 5 6 7 8 9 10 11 | function calc_totaal(prods) { var prods = eval(prods); var totaal = eval(0); for (var i=1; i<=prods; i++) { totaal += eval(document.getElementById('bedrag'+prods).value); } document.write(totaal); } |
ja idd, het werkt nu, TE simpel eigenlijk....quote:
1 | var totaal = eval((totaal * 100) / 100); |
s = s.substring(0, index) + s.substring(index+length, s.length);quote:Op zondag 30 januari 2005 15:36 schreef Chandler het volgende:
Weet iemand hoe ik een gedeelte van een string kan verwijderen (tegebruiken voor CUT), ik heb copy en paste reeds werkend voor IE & Moz(bestaande source
)
1 2 3 | var str = document.forms['textform'].elements['text'].value; str.replace('/' + getSelected() + '/g', 'ttt'); document.forms['textform'].elements['text'].value = str; |
Moet je heel even quietguy aanschieten, daar had ik soortgelijks een tijd terug voor uitgezocht, weet alleen niet meer waar, en de search is niet al te behulpzaam moet ik zeggen..quote:Op zondag 30 januari 2005 20:39 schreef Chandler het volgende:
idd daar heb je gelijk... maar dan moet ik uitvinden waar selected text begint en eindigden dat is ook niet zo gemakkelijk
ehm, php en javascript hebben niks met elkaar gemeen, vergeet dat alsjeblieft.quote:Op zondag 30 januari 2005 16:02 schreef markiemark het volgende:
is het round? weet wel dat ie in php werkt, maar ik zocht in mn digitale gedo... kochte php bible (stond op cdtje bij het boek ;-) en daar vond ik niks met round, neem aan dat ie hetzelfde werkt als bij php? ik probeer even
ik begrijp wat je bedoeld, wat ik probeerde te zeggen was dat php en javascript e.e.a. gemeen hebben, in ieder geval zijn er een aantal functies gelijk aan elkaar (of bijna dan.. ) Maar met Math.round ben ik er wel uit gekomen!quote:Op maandag 31 januari 2005 10:14 schreef RM-rf het volgende:
[..]
ehm, php en javascript hebben niks met elkaar gemeen, vergeet dat alsjeblieft.
In een textarea? Zie Firefox en getSelection() uit <textarea> ?!?quote:Op zondag 30 januari 2005 20:39 schreef Chandler het volgende:
idd daar heb je gelijk... maar dan moet ik uitvinden waar selected text begint en eindigden dat is ook niet zo gemakkelijk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <div><input checked="checked" type="checkbox" name="cookie" onclick="document.getElementById('autologout').style.display=this.checked?'visible':'blocked';"/> <span>Inloggen met een cookie</span> </div> <div id="autologout">Automatisch uitloggen na <select name="logintime"> <option value="10">10 minuten</option> <option value="30">30 minuten</option> <option value="60">een uur</option> <option value="360">een dag</option> <option value="10080">een week</option> <option value="0">nooit</option> </select> </div> |
quote:Op maandag 31 januari 2005 12:42 schreef daReaper het volgende:
Zo simpel, maar ik kijk er vast overheen:
[ code verwijderd ]
ik krijg in IE de error "kan de eigenschap display niet opvragen. Ongeldig argument"
iemand enig idee? Ik weet vrij zeker dat het echt een hele stomme fout is...
1 | 'visible':'blocked' |
1 | 'block':'none' |
1 2 3 4 5 | if (document.getElementById('fontSize')) { document.getElementById('previewFont').style.fontSize = document.getElementById('fontSize').value + "pt"; } |
Daar heb ik een workaround voor gemaakt ooit. Een fetchElementById die in alle browsers werkt. Zou ik vanavond op kunnen zoeken...quote:Op dinsdag 1 februari 2005 12:26 schreef Roönaän het volgende:
werkt ook in oudere browsers. getElementById is nog niet overal ondersteund.
eenvoudigste is dit:quote:Op dinsdag 1 februari 2005 12:30 schreef QuietGuy het volgende:
[..]
Daar heb ik een workaround voor gemaakt ooit. Een fetchElementById die in alle browsers werkt. Zou ik vanavond op kunnen zoeken...
1 2 3 4 | if(!document.getElementById) { if(document.all) document.getElementById = function(id) {return eval("document.all."+id);} } |
document.getElementById wordt ondersteund door IE5+, FF/Moz, NS6+, Opera6+ (?).quote:Op dinsdag 1 februari 2005 12:26 schreef Roönaän het volgende:
werkt ook in oudere browsers. getElementById is nog niet overal ondersteund.
Tnxquote:Op woensdag 2 februari 2005 18:20 schreef SuperRembo het volgende:
Firefox 1.0Bij een selectie die begint bij de eerste letter gebeurt er niets
** 1e Letter? don't know what you mean?Font werkt niet (wel mooie dropdown )
** hehe je eigen gekkertmaaruh font werkt niet? hier anders wel? Mozilla FF 1.0!
Link/email/image werkt niet
** Errors gevonden?Charactermap werkt wel maar is veel te breed.
** Huh? vaag, en hoe zou je die liever zien?Charactermap insert alleen aan 't eind van de hele tekst
** Hmm, dus ook midden en vooraan? of hoe had je dat graag gezien?
IE6Bij een selectie buiten de textarea wordt ook gereplaced. Leuk als je een button selecteerd
**idd ik weet nog niet hoe ik dat moet voorkomen
zei Sop ook al
Bij eerste keer font-selectie een error op line 155
** Ja en waar die fout nou zit? unknown!Link/email/image werkt niet
** Hier wel?vaagjes
Charactermap insert alleen aan 't eind van de hele tekst
** Zelfde iets als FF.
Algemeen:Ik zou link/email scheiden
** Is een mogelijkheidDe selectie blijft niet behouden
** Hoe bedoel je? ik niet snap
Da wassut
Gewoon, een selectie die begint bij 't begin.quote:Op woensdag 2 februari 2005 18:39 schreef Chandler het volgende:
Firefox 1.0
# Bij een selectie die begint bij de eerste letter gebeurt er niets
** 1e Letter? don't know what you mean?
Dropdown werkt wel, maar er wordt niets gewijzigd in de textarea.quote:# Font werkt niet (wel mooie dropdown )
** hehe je eigen gekkert maaruh font werkt niet? hier anders wel? Mozilla FF 1.0!
Niet gezochtquote:# Link/email/image werkt niet
** Errors gevonden?
Invoegen op de plaats van de cursor, of selectie overschijven.quote:# Charactermap werkt wel maar is veel te breed.
** Huh? vaag, en hoe zou je die liever zien?
# Charactermap insert alleen aan 't eind van de hele tekst
** Hmm, dus ook midden en vooraan? of hoe had je dat graag gezien?
O, in IE werkt 't wel. Maar in FF ben je je selectie kwijt. Die moet je zelf in JS terugzetten.quote:IE6
# Bij een selectie buiten de textarea wordt ook gereplaced. Leuk als je een button selecteerd
** idd ik weet nog niet hoe ik dat moet voorkomen zei Sop ook al
# Bij eerste keer font-selectie een error op line 155
** Ja en waar die fout nou zit? unknown!
# Link/email/image werkt niet
** Hier wel? vaagjes
# Charactermap insert alleen aan 't eind van de hele tekst
** Zelfde iets als FF.
Algemeen:
# Ik zou link/email scheiden
** Is een mogelijkheid
# De selectie blijft niet behouden
** Hoe bedoel je? ik niet snap
quote:Da wassut
Tnx
Heb je al "view source" geprobeerd, of wacht je gewoon tot het antwoord aan komt waaien?quote:Op woensdag 2 februari 2005 21:37 schreef Tomek het volgende:
Chandler kun je mij misschien vertellen hoe je zeg maar bijvoorbeeld invoegt in die textarea op de plaats waar de cursor staat. Ik krijg alleen voor elkaar dat hij aan het eind komt te staan, met een + zegmaar. Ik ben namelijk een ontiechelijke javascript noob
ik gebruik zeg maar dit: onclick="document.form.tekstveld.value +='hoi';"
Ja eerlijk gezegd wel. Het heeft ook geen hele hoge prioriteit.quote:Op woensdag 2 februari 2005 22:07 schreef Roönaän het volgende:
[..]
Heb je al "view source" geprobeerd, of wacht je gewoon tot het antwoord aan komt waaien?
Overigens vraag ik het die jongen vriendelijk alvorens rustig zijn code te jatten.quote:Op woensdag 2 februari 2005 22:07 schreef Roönaän het volgende:
[..]
Heb je al "view source" geprobeerd, of wacht je gewoon tot het antwoord aan komt waaien?
Nog meerquote:Op woensdag 2 februari 2005 19:10 schreef SuperRembo het volgende:
Gewoon, een selectie die begint bij 't begin.
** Klopt en dat is ook alleen maar in FF? waarom?geen idee, geen error te vinden
Dropdown werkt wel, maar er wordt niets gewijzigd in de textarea.
** Inderdaad, dit is alleen het geval in FF en niet in IE
Niet gezocht
** Tnx
Invoegen op de plaats van de cursor, of selectie overschijven.
** Ja dat gebeurd alleen als je de cursor in FF aan't begin zetdan voegt ie het toe ipv er tussen te zetten
Het stukje dat je nodig bent vind je tussen de functie insert en natuurlijk het einde van de javascript source van editor en ja je mag het wil rippen want het meeste van die code is verkregen door anderen dus indien je een link maakt naar qg en mijn site hebben wij daar alvast geen problemen mee.quote:Op woensdag 2 februari 2005 22:40 schreef Tomek het volgende:
Overigens vraag ik het die jongen vriendelijk alvorens rustig zijn code te jatten.
Wat ik nu dus al gedaan heb![]()
Chandler als ik je een keer kan helpen met javascript ofzo dan hoor ik het wel hè![]()
![]()
Ik heb het al wel draaiende, en ben er ook prima uitgekomen. html / css is allemaal geen probleem (tenminste meestalquote:Op donderdag 3 februari 2005 00:21 schreef Chandler het volgende:
En echt als je de source bekijkt moet je het gewoon opvallen en is dat niet het geval dan raad ik je vrolijk aan om eerst eens een paar beginselen voor html en javascript te gaan leren ( tutorialen) want zelfs ik kan het
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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | <html> <head> <style type="text/css"> <!-- #scroll { position: absolute; top: 50px; left: 2px; width: 167px; background: white; layer-background-color: white; padding: 2px; border: none; } --> </style> <script language="javascript" type="text/javascript"> var clipTop = 0; var clipWidth = 187; var clipBottom = 450; var topper = 50; var lyrheight = 0; var time,amount,theTime,theHeight,DHTML; function init() { DHTML = (document.getElementById || document.all || document.layers) if (!DHTML) return; var x = new getObj('scroll'); if (document.layers) { lyrheight = x.style.clip.bottom; lyrheight += 20; x.style.clip.top = clipTop; x.style.clip.left = 0; x.style.clip.right = clipWidth; x.style.clip.bottom = clipBottom; } else if (document.getElementById || document.all) { lyrheight = x.obj.offsetHeight; x.style.clip = 'rect('+clipTop+' '+clipWidth+' '+clipBottom+' 0)' } } function scrollayer(layername,amt,tim) { if (!DHTML) return; thelayer = new getObj(layername); if (!thelayer) return; amount = amt; theTime = tim; realscroll(); } function stopScroll() { if (time) clearTimeout(time); } function realscroll() { if (!DHTML) return; clipTop += amount; clipBottom += amount; topper -= amount; if (clipTop < 0 || clipBottom > lyrheight) { clipTop -= amount; clipBottom -= amount; topper += amount; return; } if (document.getElementById || document.all) { clipstring = 'rect('+clipTop+' '+clipWidth+' '+clipBottom+' 0)' thelayer.style.clip = clipstring; thelayer.style.top = topper; } else if (document.layers) { thelayer.style.clip.top = clipTop; thelayer.style.clip.bottom = clipBottom; thelayer.style.top = topper; } time = setTimeout('realscroll()',theTime); } function vis(val) function getObj(name) { if (document.getElementById) { this.obj = document.getElementById(name); this.style = document.getElementById(name).style; } else if (document.all) { this.obj = document.all[name]; this.style = document.all[name].style; } else if (document.layers) { this.obj = document.layers[name]; this.style = document.layers[name]; } } </script> </head> <body onload="init()"> <div id="scroll">lorum ipsum, lange tekst ofzo </div> <a href="#" onmouseover="scrollayer('scroll',5,25)" onmouseout="stopScroll()">up</a> <a href="#" onmouseover="scrollayer('scroll',-5,25)" onmouseout="stopScroll()">down</a> </body> </html> |
1 2 3 4 5 6 | if (document.getElementById || document.all) { clipstring = 'rect('+clipTop+'px '+clipWidth+'px '+clipBottom+'px 0px)'; thelayer.style.clip = clipstring; thelayer.style.top = topper+'px'; } |
Dat klopt, want dan voldoet hij namelijk aan de W3C standaardenquote:Op zondag 6 februari 2005 20:53 schreef Chandler het volgende:
Ik weet dat <script language="javascript" type="text/javascript"> gewoon <script type="text/javascript"> moet zijnmaar verder kan ik je hier niet mee helpen
Netjes!quote:Op dinsdag 8 februari 2005 12:19 schreef Chandler het volgende:
Mensen, me scriptje is bijna netjes af maar nu het volgende.
@ http://editor.bruggema.nl/editor.html
2 bugs
- wanneer je iets invoegt is op eens de cursor verdwenenkan die als het ware gerestored worden.
- wanneer je niets selecteerd en de pointer staat niet in het textveld wordt alles buiten het 'textveld' ingevuld met waarden?
Iemand suggesties? want ik heb aardig wat zitten klooien maar kom er niet uit.
Wat ik tegenwoordig ook steeds vaker zie gebeuren en waar ik op zich wel gecharmeerd van ben is het volgende:quote:Op dinsdag 8 februari 2005 12:48 schreef Swetsenegger het volgende:
[..]
Netjes!
Zoiets heb ik ook nog nodig.
Binnenkort eens aan beginen
Kan toch alsnog? met een kleine converter of PHP previewer?quote:Op dinsdag 8 februari 2005 13:03 schreef Roönaän het volgende:
[..]
Wat ik tegenwoordig ook steeds vaker zie gebeuren en waar ik op zich wel gecharmeerd van ben is het volgende:
1) Drop ubb.
2) Geef de textarea hetzelfde font + fontcolor als hoe dat de tekst er na formprocessing uit zou zien.
3) Zorg ervoor dat de plek waar de tekst komt dezelfde whitespacing heeft als de textarea.
4) Vervang alleen urls en html en laat voor de rest de tekst as is.
Scheelt ontzettend veel coding, en omdat de tekst in de textarea zo goed als 1 op 1 overkomt in de uiteindelijke weergaven heft dit redelijk de toegevoegde waarde van ubb op wmb.
En de "wil je een afbeelding laten zien? Zet maar een link neer" mentaliteit bevalt me daarin ook wel. Scheelt een boel laadtijd.
nog mooier:quote:Op dinsdag 8 februari 2005 13:03 schreef Roönaän het volgende:
[..]
Wat ik tegenwoordig ook steeds vaker zie gebeuren en waar ik op zich wel gecharmeerd van ben is het volgende:
1) Drop ubb.
2) Geef de textarea hetzelfde font + fontcolor als hoe dat de tekst er na formprocessing uit zou zien.
3) Zorg ervoor dat de plek waar de tekst komt dezelfde whitespacing heeft als de textarea.
4) Vervang alleen urls en html en laat voor de rest de tekst as is.
Scheelt ontzettend veel coding, en omdat de tekst in de textarea zo goed als 1 op 1 overkomt in de uiteindelijke weergaven heft dit redelijk de toegevoegde waarde van ubb op wmb.
En de "wil je een afbeelding laten zien? Zet maar een link neer" mentaliteit bevalt me daarin ook wel. Scheelt een boel laadtijd.
Tot zover is mijn methode de enige die werkt op browsers zonder javascript of afwijkend DOM model.quote:Op zaterdag 12 februari 2005 00:51 schreef daReaper het volgende:
[..]
nog mooier:
[textarea]
---------------
[divje]
op de textarea een onkeyup doen die een functie uitvoert, welke realtime in het divje de uitkomst van je textarea zet
Magoe, niet echt veel nuttiger dan een "Preview" knop ofzo...
O.k, dus je bedoelt dat dat een veel te lang script wordt en dat dat dus niet opweegt tegen het nut ervan?quote:Op donderdag 17 februari 2005 21:30 schreef SuperRembo het volgende:
Dat zit behoorlijk tricky in elkaar. IE en FF werken wat dit betreft compleet anders. Bij IE moet je bijvoorbeeld de selectie bewaren, omdat je die kwijt raakt op het moment dat je op het knopje voor de smiley klikt. Bij FF moet je bijvoorbeeld de scroll positie onthouden en na de aanpassing terugzetten (iets wat in replique ook niet gebeurt).
1 2 3 4 5 6 | function AppendText(targetId, text) { var el = document.getElementById(targetId); if (!el) return; el.value += text; el.focus(); } |
1 2 3 4 5 | <img src="smile.gif" alt="Smile" title=":)" onclick="AppendText('name', ' :)')"> <input id="name" type="text"> <img src="smile.gif" alt="Smile" title=":)" onclick="AppendText('message', ' :)')"> <textarea id="message" rows="10" cols="100"></textarea> |
1 2 3 4 5 6 | function showOpm(opm){ document.getElementById(opm).style.display = "block"; } function hideOpm(opm){ document.getElementById(opm).style.display = "none"; } |
1 2 3 4 5 6 | function showOpm(opm){ document.getElementById(opm).style.display = ""; } function hideOpm(opm){ document.getElementById(opm).style.display = "none"; } |
1 2 3 4 5 | <td class="trans"><input type="radio" name="radio" value="test1"></td> <td class="trans"><input name="veld1"></td> <td class="trans"><input type="radio" name="radio" value="test2"></td> <td class="trans"><input name="veld2"></td> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |