Toon posts:

[JS] [ in een veldnaam escapen.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een klein scriptje waarmee ik bij het deselecteren van veldA, veldB automatisch de waarde krijgt van veldA.

Dit kan makkelijk worden opgelost met:

code:
1
2
3
4
<form name="ch" method="POST" action"blabl">
<input type="text" name="form" onblur="document.ch.formz.value=document.ch.form.value">
<input type="text" name="formz" class="formulier">
</form>


Nu wil ik echter de verstuurde data in een Array binnen krijgen. Dus hebben de input fields de volgende namen: form[A], form[B]. Nu zou je zeggen dan kan je toch hetzelfde gebruiken maar dan met andere namen, Dus:

code:
1
2
3
4
<form name="ch" method="POST" action"blabl">
<input type="text" name="form[A]" onblur="document.ch.form[B].value=document.ch.form[A].value">
<input type="text" name="form[B]" class="formulier">
</form>


Alleen dit pakt die dus niet, JS lijkt niet overweg te kunnen met een [. Iemand een oplossing? Zodat ik in PHP de data netjes in een array binnenkrijg, maar toch veld B automatisch kan laten invullen als Veld A is ingevuld??

  • FireWire
  • Registratie: November 2000
  • Niet online

FireWire

I taste like chicken...

Even snel uit me hoofd

code:
1
2
3
4
<form name="ch" method="POST" action"blabl">
<input type="text" name="form[A]" onchange="document.ch.form[B].value=document.ch.form[A].value">
<input type="hidden" name="form[B]" class="formulier">
</form>


anders ff in een functie zetten en functie aanroepen...

verbouw dit maar :)
code:
1
2
3
4
5
6
7
8
9
10
<script language="JavaScript" type="text/JavaScript">
<!--
function emptyfield()
{
    if (document.zoekformulier.zoekterm.value == 'bedrijfsnaam') {
        document.zoekformulier.zoekterm.value = '';
    }
}
//-->
</script>


code:
1
<input value="bedrijfsnaam" name="zoekterm" type="text" size="30" onclick="javascript:emptyfield();" />


njoy en suc6

\__________________________________Niet verwarren met IEEE 1394__________________________________/


Verwijderd

Topicstarter
Zelfde probleem, ook nu is er geen probleem wanneer er geen [ of ] in de veldnaam voorkomt maar wel zodra deze erin voorkomt.

[ Voor 5% gewijzigd door Verwijderd op 18-11-2004 23:52 ]


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Gelukkig zijn er meerdere manieren om dit te regelen :)
Eval (lelijke oplossing, niet gebruiken dus)
Via de DOM tree
Je kan ook nog een ID toekennen en hem daarmee opzoeken.

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
Wolfboy schreef op donderdag 18 november 2004 @ 23:55:
Gelukkig zijn er meerdere manieren om dit te regelen :)
Eval (lelijke oplossing, niet gebruiken dus)
Via de DOM tree
Je kan ook nog een ID toekennen en hem daarmee opzoeken.
Mm had nog nooit van "DOM" gehoord, maar dat was idd de oplossing. Ik benader het nu alsvolgt:


code:
1
document.forms[0].elements['form[B]'].value = document.forms[0].elements['form[A]'].value;

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Javascript is van Webdesign & Graphics :)

Professionele website nodig?


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Verwijderd schreef op donderdag 18 november 2004 @ 23:58:
[...]

Mm had nog nooit van "DOM" gehoord, maar dat was idd de oplossing. Ik benader het nu alsvolgt:


code:
1
document.forms[0].elements['form[B]'].value = document.forms[0].elements['form[A]'].value;
Aangezien het om het huidige element gaat kan je ook dit doen: document.forms[0].elements['form[B]'].value = this.value;
En dit zou volgens mij ook moeten werken: this.parentNode.elements['form[B]'].value = this.value;

Blog [Stackoverflow] [LinkedIn]

Pagina: 1