Ik ben op zoek naar een script die het mogelijk maakt een toetsenbord uit te beelden op het scherm zodat je in een zoekveld kan typen. Dus dat je op het scherm op een virtueel toetsenbord een naam tikt en dat dit dan in het zoekveld gezet wordt.
Alvast bedankt groeten Mark
Dat kan met javascript op een beperkte manier (je kan volgens mij niet gebruik maken van de cursor, dus geen letters tussen woorden invoeren)

Maar waar is het precies voor nodig als ik vragen mag?
Het is voor een zoekmachine in een zuil. Daarbij wil ik dat alles via het scherm ingevoerd kan worden, zodat ik geen "echt" toetsenbord nodig heb. Het is dus de bedoeling dat op een klein gedeelte van het scherm (pagina) een klein toetsenbordje staat, zodat als je met je vinger op een van de letters drukt deze in het zoekveld wordt geplaatst.
dan moet je ook een touchscreen beeld scherm hebben :P
Ik zou dan gaan voor een on-screen keyboard programma. Dat is echt veel fijner, aangezien je beschikt over shift-letter en dat soort dingen. Ik denk dat dat heel moeilijk gaat met javascript, twee knoppen tegelijk indrukken.

Maar goed:
<input type="text" name="zoekveld" id="textveld">
<button onclick="document.getElementById('textveld').innerHTML += 'a'">a</button>
enzo verder...
@ Jelmer
Het werkt opzich wel wat je bedacht hebt, maar zoals jij al vermoede moet het beter kunnen. Ik zal eens een on-screen keyboard proberen. BTW hoe kan je op jouw manier zoals je die net beschreef een backspace-knop maken??
Moet wel kunnen, al weet ik zo niet hoe je een bepaalde lengte van een veld kopieert. Want dan zou je gewoon innerHTML = innerHTML - 1 karakter kunnen doen. Maar ik weet zo dus niet hoe dat moet in javascript :-/
document.getElementById('textveld').length
Dat is de huidige lengte ja, maar hoe krijg ik de string van document.getlementById('textveld').innerHTML nu precies met een karakter minder?

(volgens mij is het trouwens document.getElementById('textveld').innerHTML.length. Anders tel je de dingen die nog aan het object vastzitten (?))
Overigens, voor elk JavaScript waarmee je het DOM wilt benaderen raad ik het microapi script aan van Peter Paul Koch (www.quirksmode.org).

Dan weet je namelijk zeker dat het in alle browsers werkt. Het ziet er zo uit:

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];
}
}

hierna kun je alle objecten op de pagina op de volgende manier benaderen:

var veld = new getObj ('textveld');

via veld.obj heb je toegang tot alle methoden en attributen en via veld.style heb je toegang tot alle CSS eigenschappen.
Jelmer schreef op 29.09.2005 22:40
Dat is de huidige lengte ja, maar hoe krijg ik de string van document.getlementById('textveld').innerHTML nu precies met een karakter minder?

(volgens mij is het trouwens document.getElementById('textveld').innerHTML.length. Anders tel je de dingen die nog aan het object vastzitten (?))


We hadden het allebei fout. Het moet zijn:

document.getElementById('textveld').value.length

Die van jou zou ook kunnen werken, dat heb ik niet gecheckt, maar deze werkt zeker.

Reageren