Toon posts:

[js] vars doorgeven aan hidden veld

Pagina: 1
Acties:
  • 38 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb een probleem wat ik maar niet voor elkaar krijg.

Ik heb een radio button met een onclick.

bijvoorbeeld:
onclick="submitFunctie(5)"

Nu wil ik later in het formulier de waar uit de submitFunctie in een hidden veld krijgen.

Ik heb de volgende submit functie:

function submitFunctie (catId) {
var doorgeef = catId
}

Hoe kan ik het beste de waarde doorgeef / catId in een hidden veld krijgen.

Waarde moet hier in: <input type="hidden" name="catOnclick" value="??">

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

JavaScript:
1
document.forms['formnaam'].elements['catOnclick'].value = catId;

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.


Verwijderd

Topicstarter
BtM909 schreef op dinsdag 18 januari 2005 @ 15:46:
JavaScript:
1
document.forms['formnaam'].elements['catOnclick'].value = catId;
Zou je kunnen uitleggen hoe ik dit exact moet toepassen, ik krijg het niet goed werkend.

Alvast mijn dank.

Verwijderd

kan ook gewoon
JavaScript:
1
document.getElementById("naam_veld").value = catId
waarbij naam_veld de naam van het hidden field is, opgegeven bij id="naam_veld"

edit:
oeps, name moest id zijn 8)7

[ Voor 19% gewijzigd door Verwijderd op 18-01-2005 15:55 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op dinsdag 18 januari 2005 @ 15:53:
kan ook gewoon
JavaScript:
1
document.getElementById("naam_veld").value = catId
waarbij naam_veld de naam van het hidden field is, opgegeven bij name="naam_veld"
getElementById en dan verwijzen naar een name attribuut :? ;)


Verwijderd schreef op dinsdag 18 januari 2005 @ 15:51:
[...]


Zou je kunnen uitleggen hoe ik dit exact moet toepassen, ik krijg het niet goed werkend.

Alvast mijn dank.
Hoe heb je het dan toegepast? Dit is binnen 1 sec te vinden met bijvoorbeeld google. Het is hier nl. geen afhaal-chinees...

[ Voor 34% gewijzigd door BtM909 op 18-01-2005 15:53 ]

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.


Verwijderd

BtM909 schreef op dinsdag 18 januari 2005 @ 15:53:
[...]

getElementById en dan verwijzen naar een name attribuut :? ;)




[...]

Hoe heb je het dan toegepast? Dit is binnen 1 sec te vinden met bijvoorbeeld google. Het is hier nl. geen afhaal-chinees...
ja beetje lam 8)7 ik had em al ge-edit ;)

afhaalchinees is trouwens ook lekker hoor..

[ Voor 6% gewijzigd door Verwijderd op 18-01-2005 15:59 ]


Verwijderd

Topicstarter
Het probleem is dat de formnaam steeds anders is. Ik kan dus niet zeggen het is standaard element 1.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Verwijderd schreef op dinsdag 18 januari 2005 @ 15:59:
Het probleem is dat de formnaam steeds anders is. Ik kan dus niet zeggen het is standaard element 1.
Gebruik je dan steeds 1 <form>-tag of meerdere. Anders kan je nl. ipv de naam 0 (nul ;)) gebruiken (alszijnde eerste form-tag).

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.


Verwijderd

Topicstarter
Sorry ik zeg het zelf verkeerd. De radio buttons hebben steeds een andere naam. De naam van de radio button`s is gelijk aan die van de categoriën.

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 12:08

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op dinsdag 18 januari 2005 @ 16:07:
Sorry ik zeg het zelf verkeerd. De radio buttons hebben steeds een andere naam. De naam van de radio button`s is gelijk aan die van de categoriën.
het elements-array kun je aanspreken op de naam van je element:

JavaScript:
1
2
3
function eenFunctietje( naam, waarde ) {
   document.forms['formnaam'].elements[ naam].value = waarde
}
voldoet dan al.
Verwijderd schreef op dinsdag 18 januari 2005 @ 15:56:
[...]


ja beetje lam 8)7 ik had em al ge-edit ;)..
zoals het nu in je quote staat is het ook onzin, die mogelijk niet werkt...(tenzij de topicstarter ook allemaal extra IDs gaat toevoegen in zijn html-code)
met document.getElementById spreek je waarde's aan op hun ID en niet op hun 'name' attribuut:
In geval van formulieren wil je dat vaak juist bewust wél...

het is overigens af te raden om dit voor formulieren te gebruiken, document.forms[0].elements is een specifieke collectie van alle formulier elementen die je vaak veel effectiever kunt aanspreken, bovendien maakt het, mits goed toegepast je code een stuk generieker (itt tot gebruik van IDs, die altijd uniek per pagina moeten zijn, kun je dan wel dezelfde namen voor elementen in verschillende forms per pagina gebruiken)

[ Voor 53% gewijzigd door RM-rf op 18-01-2005 16:18 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
Het werkt perfect ik gebruik nu de onderstaande functie, het probleem waardoor het mislukt was dat ik al een forum submit deed zonder submitFunctie uit de voeren.

Bedankt voor alle hulp.

function submitFunctie (catId) {
document.forms[0].elements['verborgen'].value = catId;
}

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Sterker nog: vaak heb je niet eens een id of een name nodig voor je form-element aangezien je vanuit de eventhandler op een form-element gewoon een referentie naar het form als parameter mee kan geven:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script type="text/javascript">
function submitFunctie(form, value)
{
    form.elements['myHiddenField'].value = value;
    form.submit();
}
</script>
<form action="#">
    <input type="radio" value="5" onclick="submitFunctie(this.form, this.value)"> 5
    <input type="radio" value="6" onclick="submitFunctie(this.form, this.value)"> 6
    <input type="radio" value="7" onclick="submitFunctie(this.form, this.value)"> 7
    <input type="radio" value="8" onclick="submitFunctie(this.form, this.value)"> 8
    <input type="hidden" name="myHiddenField">
</form>

Intentionally left blank


Verwijderd

Topicstarter
Bedankt allemaal voor de hulp mijn vraag is volkomen beantwoord.

Ik heb nog een simpel vraagje waar ik ook met google niet uitkomt.

Ik geef in mijn template parser (php) variablen als volgt door: $tplObj->assign("var", $var);

Is het ook mogelijk om het catId wat beschikbaar wordt na de onclick te schrijven op de plek van $var?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je weet dat PHP een server-side taal is? Dat betekent in principe dat je een post-back nodig hebt naar de server (bijvoorbeeld een submit van je form). Dan kan je met PHP de juiste veldwaarde ophalen en in de juiste PHP variabele stoppen :)

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.


Verwijderd

Topicstarter
BtM909 schreef op woensdag 19 januari 2005 @ 10:28:
Je weet dat PHP een server-side taal is? Dat betekent in principe dat je een post-back nodig hebt naar de server (bijvoorbeeld een submit van je form). Dan kan je met PHP de juiste veldwaarde ophalen en in de juiste PHP variabele stoppen :)
Inderdaad dat is ook het best, echter werkt mijn script dan niet goed.

Ik heb nu een pagina met categoriën zodra er op een product geklikt wordt, wordt via de onclick de categorie id meegegeven. Die wordt nu in een hidden veld gezet.

Ik wil echter het categorie id als een anker gebruiken dus als #nummer toevoegen aan de url. Met een hidden veld kan ik wel het anker achter de url krijgen maar dan is het al te laat.

Nu had ik het idee om de javascript var mee te geven aan php en dan toe te voegen aan de form action. De form action wordt opgebouwd uit een aantal php variablen.

Is hier een mogelijkheid voor om dit voor elkaar te krijgen?

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 15-05 19:36

Pelle

🚴‍♂️

Alles is mogelijk, als je maar een beetje je best doet.

Ik heb het even aangekeken maar je hangt wel heel erg de helpdesker uit.
Pagina: 1

Dit topic is gesloten.