Toon posts:

[JS] Radiobutton change value van hidden field

Pagina: 1
Acties:

Verwijderd

Topicstarter
Betste tweakers...

Na de hele dag geklooid en geimproviseerd te hebben in een (php/java)bestelformuliertje heb ik besloten om de hulp van mijn fellow tweakers maar in te roepen.
Mijn probleem is het volgende;
Ik heb een htm bestel formulier die gebruik maakt van zowel javascript als php. Daarnaast heb ik ook een php script die dit formulier validate/valideert. Het probleem zit hem in de htm pagina... voor speciale doeleinden zou ik graag willen dat de value van een radiobutton gekopieerd wordt naar de value van een hidden field. Echter op welke manier ik het ook probeer... de value van de hidden field wordt "undefined"...
Wat doe ik fout?
De radiobutton code staat hier:
code:
1
2
3
4
5
6
7
8
9
10
11
              <td colspan="4">Betalingswijze: </td>
            </TR>
            <TR class="namefield"> 
              <td><input type="radio" name="Betalingswijze" value="giro" <?php  formChecked( $HTTP_POST_VARS[ "Betalingswijze" ], "giro" ); ?> ></td>
              <td>Ik wens vooruit te betalen via giro.</td>
              <td colspan="2" rowspan="2">Vul hier uw rekening nr in: 
                <input name="Rekeningnr" type="text" size="15" value="<?php  print HtmlSpecialChars( $HTTP_POST_VARS[ "Rekeningnr" ] ); ?>" class='listbox'>
              </td>
            </TR>
            <TR class="namefield"> 
              <td width="25"><input type="radio" name="Betalingswijze"  value="bank"  <?php  formChecked( $HTTP_POST_VARS[ "Betalingswijze" ], "bank" ); ?> ></td>


De code die ik als laatste heb geprobeerd die de value zou moeten veranderen van mijn hidden field is als volgt;

code:
1
2
3
4
5
function bankgiro(form)
{ 
Betalingswijze=eval(document.frmFormMail.Betalingswijze.value)
document.frmFormMail.Betalingswijzeh.value=Betalingswijze
}


en dan roep ik als action uiteraard "bankgiro()" aan als men op verzenden klikt.

Ik heb het ook geprobeer met onClick en onChange in de code van de radiobutton zelf maar dan krijg ik helemaal geen value doorgestuurd.

edit:
uiteraard heb ik ook gegoogled... gezocht op trefwoorden "radiobutton change value" en onclick en onchange etc. etc. etc. met alle combinaties van dien

[ Voor 16% gewijzigd door Verwijderd op 04-10-2005 13:42 ]


  • edeboeck
  • Registratie: Maart 2005
  • Laatst online: 18-04 07:52

edeboeck

mie noow noooothing ...

Voorbeeldcode vanop MSDN:

HTML:
1
2
3
<INPUT type=radio name="radio" CHECKED>1-10 years old
<INPUT type=radio name="radio">11 years old
<INPUT type=radio name="radio">12-120 years old


JavaScript:
1
2
3
4
5
6
7
8
9
function detect()
{
    if (radio[0].checked)
        alert("You're between 1 and 10 years old.")
    else if (radio[1].checked)
        alert("You're 11 years old.")
    else
        alert("You're between 12 and 120 years old.")
}


meer info en voorbeeldscript op:
http://msdn.microsoft.com...e/objects/input_radio.asp

PS: vergeet niet te testen in een "alternatieve" browser ;)

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Je moet de array van radio input velden doorlopen en dan kan je de value en opvragen en kijken of hij geselecteerd is.

If I can't fix it, it ain't broken.


Verwijderd

Topicstarter
Thanks... zal de site goed doorspitten... hoop dat ik er daar uit kom...

Ik geloof dat ik uindefined als waarde krijg omdat JS niet weet welke radio selected is...
Suggesties zijn in the meanwhile van harte welkom!

Verwijderd

Topicstarter
Ik heb een workarround gevonden... heel simpel...

Om de arrays door te lopen enzo is voor mij nog een beetje ingewikkeld... heb dus eingelijk geen verstand van JS... Ik heb nog 2 hidden fields aan gemaakt... eentje heet bank en draagt de waarde"bank" de andere heet giro en draagt de waarde"giro"...

als men op de radio van giro klikt dan:
onactivate="Betalingswijzeh.value=(giro.value)"
en als men op de radio van bank klikt dan:
onactivate="Betalingswijzeh.value=(bank.value)"

Erg omslachtig maar het werkt! en daar gaat het mij om :P