[JavaScript] Textarea - welke form?

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Topicstarter
Hoe bepaal je het Form object dat "dit Textarea object" bevat?

Ik heb ergens een Textarea waarvan ik van tevoren niet weet in welke form die terecht komt (PHP scripting). Op deze Textarea heb ik een onFocus en een onBlur handler die een functie aanroepen met als argument de textarea:
code:
1
2
Verkort:
<TEXTAREA onFocus="obtainFocus(this)" onBlur="loseFocus()">...</TEXTAREA>

In de functie obtainFocus() heb ik de Form waar dit Textarea object inzit nodig om bepaalde andere buttons te disabelen (Form.button.disabled = false). Hoe bepaal ik het Form uit de Textarea?

Ik dacht aan het volgende:
code:
1
2
3
4
function obtainFocus(elem)
{   selectedElement = elem;
    currentForm = elem.form;
}

Maar dit werkt niet. De property "form" geldt alleen voor andere form elements dan Textarea.

Iemand een andere manier?

Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP


Verwijderd

Ik snap je verhaal niet, kun je het misschien ff iets duidelijker uitleggen !?

Of misschien een voorbeeldje online zetten waarbij er al zo'n situatie die jij schetst gegeven is ??

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ik denk dat je hier wat aan heb:
code:
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
<html>
<head>
<script language="JavaScript">
function handleClick(oEvent)
{
    var oForm = event.srcElement.form
    var oElement = event.srcElement
    var sForm = (oForm != null ? oForm.name : '');
    var sElement = (oElement != null ? oElement.name : '');
    var sType = (oElement != null ? oElement.type : '');
    
    alert (sForm + "\n" + sElement + "\n" + sType + "\n");
    return true;
}

document.onclick = handleClick;
</script>
</head>
<body>
<form name="burat">
<input name="text2" type=text size=100><br><br>
<textarea rows="2" name="S1" cols="20"></textarea>
</form>
</body>
</html>

Als je bovenstaand code ziet, dan weet jij volgens mij wel wat je moet gebruiken voor je eigen form...

Succes


p.s.: Code is geript van een mede-tweaker

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

da werkt niet in ns, dat boeit op zich niet, maar het werkt ook niet in mozialla, en dat boeit denk ik wat meer :)

een simpel for loopje doet het overal in. Wel wat omslagtich, maar als het niet anders kan Afbeeldingslocatie: http://www.xs4all.nl/~peterned/got/frown.gif
code:
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
<html>
<head>

<script>
function obtainForm(obj) {
   frms = document.forms;
   for(var i=0; i<frms.length; i++) {
    elms = frms[i].elements
    for(var j=0; j<elms.length; j++) {
       if(elms[j].name == obj.name) {
        //alert('form: ' + frms[i].name);
        currentForm = frms[i]
       }
    }
   }
}
</script>

</head>
<body bgcolor="#FFFFFF">

<form name="dinges">
<textarea name="harry" onfocus="obtainForm(this)"></textarea>
</form>


<form name="hoppa">
<textarea name="truus" onfocus="obtainForm(this)"></textarea>
</form>

</body>
</html>

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Burat
  • Registratie: Oktober 1999
  • Niet online

Burat

bos wortels

Topicstarter
Op donderdag 11 oktober 2001 15:18 schreef BtM909 het volgende:
Ik denk dat je hier wat aan heb:
[knip]
Als je bovenstaand code ziet, dan weet jij volgens mij wel wat je moet gebruiken voor je eigen form...

Succes
p.s.: Code is geript van een mede-tweaker
Dit werkt dus niet ;(. Dat komt omdat een textarea object als enige form element niet een eigenschap "form" heeft, waarin de form waar ie in zit is opgeslagen. Dat hebben alle andere INPUT Types wel, en dit script werkt dan ook alleen bij die andere INPUT Types. :)
Op donderdag 11 oktober 2001 20:31 schreef Clay het volgende:
da werkt niet in ns, dat boeit op zich niet, maar het werkt ook niet in mozialla, en dat boeit denk ik wat meer :)

een simpel for loopje doet het overal in. Wel wat omslagtich, maar als het niet anders kan
[knip]
Thanks!

Is idd wel beetje omslachtig, en niet de meest elegante manier, maar kennelijk wel de enige manier :).

Homepage | Me @ T.net | Having fun @ Procurios | Collega's gezocht: Webontwikkelaar PHP


Verwijderd

Clay: [...] Het werkt ook niet in Mozilla. [...]
In Mozilla (en andere browsers die DOM ondersteunen) kan je toch gewoon met DOM op zoek naar de <form> ancestor van je <textarea> ? :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Op vrijdag 12 oktober 2001 00:07 schreef Burat het volgende:

[..]

Dit werkt dus niet ;(. Dat komt omdat een textarea object als enige form element niet een eigenschap "form" heeft, waarin de form waar ie in zit is opgeslagen. Dat hebben alle andere INPUT Types wel, en dit script werkt dan ook alleen bij die andere INPUT Types. :)
Ik ben het eens dat het niet in NS en Mozilla werkt, maar het ging ff om het voorbeeld. Ik heb het zelf ook getest en het werkt dus wel voor een textarea. Moet je maar in je textarea klikken, dan krijg je de volgende alert:

formulier (naam form)
S1 (naam veld)
textarea (type veld)

Dat wilde je toch weten

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op vrijdag 12 oktober 2001 07:51 schreef Arien het volgende:

[..]

In Mozilla (en andere browsers die DOM ondersteunen) kan je toch gewoon met DOM op zoek naar de <form> ancestor van je <textarea> ? :)
het probleem is vooral NS 4.x denk ik.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Helox-in-a-box
  • Registratie: Augustus 2000
  • Laatst online: 08:27
kan je de textarea niet typecasten naar een form-object? ipc is textarea een kind van form (heerlijk die overerving in java)
Pagina: 1