login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Karakter toevoegen met button op de plaats van de cursor (Opgelost)

Offline tonidegroof - 22/01/2008 14:41
Avatar van tonidegroofNieuw lid Op een php-pagina staat een formulier met 12 invoervelden. Deze werden geplaatst via een do...while... lus en zijn genoemd 'invulvak0' tot en met 'invulval11'.
Onderaan de pagina staan 6 knopjes waarmee een vreemd karakter kan ingevuld worden [ ó í é á ü ñ ].
Dit lukt me wel als ik 1 invulveld opgeef, maar ik wil een karakter laten verschijnen daar waar op dat moment de cursor staat [dus in om het even welk van de 12 invulvelden].

6 antwoorden

Gesponsorde links
Offline XeriuM - 22/01/2008 15:47
Avatar van XeriuM Lid Heb je google al geraadpleegd? Wat heb je daar gevonden?

Je moet niet verwachten dat je hier je vraag neer kan gooien en dan verwachten dat wij je de code geven zonder zelf iets doen 
Offline ranco - 22/01/2008 16:39
Avatar van ranco PHP gevorderde Ik weet niet veel, zeg bijna niets van javascript.
Maar met het ".this" geef je toch aan dat op de plek waar de cursor staat, ook de gevraagde actie wordt uitgevoerd?
Offline Sitebase - 22/01/2008 16:43 (laatste wijziging 22/01/2008 16:43)
Avatar van Sitebase PHP expert Javascript heeft standaard geen functie waarmee je kan ophalen welk form element de focus heeft. Je kan wel met onderstaande code een detectie inbouwen. Deze code gaat ervoor zorgen dat er in de variable focuselement, de naam van het element dat de focus heeft wordt bijgehouden. Denk er wel aan als je met die knopjes gaat werken wat jij daar noemt dat je deze buiten de form tag zet anders gaat bij het klikken telkens de focus op die knopjes gezet worden en niet op de textvelden.

  1. var focuselement;
  2. onload=function(){
  3. var element = document.forms[0].elements;
  4. for(var i=0;i<element.length;i++){
  5. element[i].onfocus=function(){focuselement=this.name}
  6. }
  7. }
Offline BramBo - 22/01/2008 16:46 (laatste wijziging 22/01/2008 16:47)
Avatar van BramBo JS gevorderde Als ik het goed begrijp wil je in de momenteel selectie-dragende invoer vak een karakter toevoegen ?

Het is helaas zo het geval dat wanneer er op een knop wordt gedrukt de cursor zijn huidige focus verliest en deze wordt gezet op de button.

Met onBlur op ieder tekstveld te gebruiken kunnen we wel 't laatst geselecteerd/gefocust veld terug vinden.

Als eerste gaan we de velden een id mee geven en een onblur event:
  1. <input type='text' id='Veld1' value='' onblur='javascript:traceBack(this.id);' /><br />
  2. <input type='text' id='Veld2' value='' onblur='javascript:traceBack(this.id);' /><br />
etc..

Een Knop die het inserten van een karakter zou kunnen doen:
  1. <input type='button' onclick="javascript:insert('a');" value='Insert A' />


En dan het javascript dat het werk doet :
  1. var backtrace = null;
  2. function traceBack(id) { backtrace = id; }
  3.  
  4. function insert(inChar) {
  5. if(backtrace==null) return;
  6. document.getElementById(backtrace).value += inChar;
  7. }

Offline Mad_Mike - 22/01/2008 16:47 (laatste wijziging 22/01/2008 16:47)
Avatar van Mad_Mike PHP beginner Of je past het script van hierboven iets aan zodat er alleen bij inputfields gereageerd wordt (of NIET bij buttons) ;)
Offline tonidegroof - 26/01/2008 18:16
Avatar van tonidegroof Nieuw lid Bedankt voor de hulp.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.193s