Toon posts:

[JS] textarea-naam als var doorgeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik kom hier niet uit! :'(
Ik heb een basispagina waar men via een popupscherm (function insertdoc) een document kan selecteren. Aan de hand van welk document met kiest wordt er een html-link gemaakt en geplaats in het veld: nieuwstekst (document.forms.nieuw.nieuwstekst)
Het wrkt, maar nou wil ik met hetzelfde script ook van andere pagina's dezelfde functie aanroepen, dus zou je zeggen dat het veld (nieuw.nieuwstekst) ook d.m.v. variabelen kan meegegeven worden en kan dus ook zijn 'wijzig.agendatekst' o.i.d. Nou, dat lukt niet! :S

de functie insertdoc word aangeroepen met
<A STYLE="cursor:hand;" onclick="javascript:insertDoc('document.forms.nieuw.nieuwstekst')">klik</A>

het probleem zit hem volgens mij in het maken van de functie veldkeuze.focus(). En misschien moet het iets zijn als [veldkeuze].focus() maar dan anders ?


code op basispagina (opener)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function insertDoc(veldKeuze) {
var range = document.selection.createRange();
window.open("../insertdoc.cfm?veldkeuze="+veldKeuze+"&rangeSelectie="+range.text+"",'poppage','width=500,height=100,resizable=yes,scrollbars=0','false');
}  

function insertDocCode(veldkeuze,urlcode,tekstveld,venster) {
    if (hetform == 'document.forms.nieuw.nieuwstekst')
    document.forms.nieuw.nieuwstekst.focus();
    else {
    document.forms.wijzig.nieuwstekst.focus();
    }

var range = document.selection.createRange();
AddTxt = "<a href="+urlcode+" target="+venster+">"+tekstveld+"</a>";
range.text = AddTxt;
    
}



code op popuppagina insertdoc.cfm waar men een document kan selecteren

code:
1
2
3
4
5
6
7
8
9
10
11
<SCRIPT>
<CFOUTPUT>

    <CFSET veldkeuze = 'document.forms.nieuw.nieuwstekst'>
    function inVeld() {
opener.insertDocCode('#veldkeuze#','#urlcode#',document.forms.info.tekstveld.value,document.forms.info.venster.value)
window.close()
}

</CFOUTPUT>
</SCRIPT>


NB: de code's #veldkeuze# en #urlcode# worden ingevuld door Cold Fusion en de string komt er dan uit te zien als: ('document.forms.nieuw.nieuwstekst','home.cfm?start=60',document.forms.info.tekstveld.value,document.forms.info.venster.value)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

JavaScript:
1
document.forms[variabeleMetNaamVanJeForm].elements[variabeleMetNaamVanJeVeld].focus();

elementaire kennis...

Nog even beter gelezen; als je echt een object-handler meegeeft zou je dit kunnen doen:
JavaScript:
1
veldkeuze.focus();

is het echter een string, dan zou je misschien eval kunnen gebuiken (is smerig, maar ja...):
JavaScript:
1
eval(veldkeuze+'.focus()');


In plaats van een string gewoon de naam van je form en de naam van je veld als parameters meegeven lijkt me toch het beste, dan kan je namelijk de allerbovenste code gebruiken...

Intentionally left blank


Verwijderd

Topicstarter
Dankjewel. ik ga het uitproberen (ik voel me nitwit) 8)7

  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
[tip] Gebruik op de juiste plaatsen tabs e.d. Dat werkt echt een stuk relaxder!
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function insertDoc(veldKeuze)
{
     var range = document.selection.createRange();
     window.open("../insertdoc.cfm?veldkeuze="+veldKeuze+"&rangeSelectie="+range.text,'poppage','width=500,height=100,resizable=yes,scrollbars=0','false');
}  

function insertDocCode(veldkeuze,urlcode,tekstveld,venster)
{
     if (hetform == 'document.forms.nieuw.nieuwstekst')
          document.forms.nieuw.nieuwstekst.focus();

     else
          document.forms.wijzig.nieuwstekst.focus();


     var range  = document.selection.createRange();

     AddTxt     = "<a href="+urlcode+" target="+venster+">"+tekstveld+"</a>";
     range.text = AddTxt;
    
}

offtopic:
Jemug Crisp! Je bent vandaag (en ook daarvoor) wel lekker bezig op GoT wat betreft JavaScript enzo zeg! Heb je ook msn ofzo want ik heb af en toe nog wel eens boeiende projectjes liggen waarvan ik het niet echt nodig vind om ze op GoT te posten, maar misschien wel leuk zijn om met het wat specifiekere publiek te bespreken, als je snapt wat ik bedoel :P

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

r0bert schreef op 22 november 2002 @ 23:37:
offtopic:
Jemug Crisp! Je bent vandaag (en ook daarvoor) wel lekker bezig op GoT wat betreft JavaScript enzo zeg! Heb je ook msn ofzo want ik heb af en toe nog wel eens boeiende projectjes liggen waarvan ik het niet echt nodig vind om ze op GoT te posten, maar misschien wel leuk zijn om met het wat specifiekere publiek te bespreken, als je snapt wat ik bedoel :P
offtopic:
/me heeft alleen ICQ, maar die staat zelden aan.
Kom anders eens in #devschuur, daar ben ik meestal wel te vinden. Anders: email staat in m'n profiel :)

Intentionally left blank