Toon posts:

[JS] Opbouwen string

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier een (klein) probleem. Ik ben net begonnen met javascript enzo, en heb dus een simpel winkeltje gemaakt.

Nu is het dus zo dat wanneer de besteller op "Bestellen" klikt, het mandje niet automatisch leeg wordt gemaakt terwijl dit wel zou moeten. Ik heb naast de knop bestellen ook nog een knop gemaakt om de mand te legen (mochten ze niks meer willen bestellen) maar ik krijg het niet voor elkaar dat 'ie dat ook automatisch doet nadat de besteller op "Bestellen" heeft geklikt.

Zou iemand dit voor mij kunnen doen, of uitleggen hoe ik dit doe? Volgens mij moet het niet zo extreem moeilijk zijn, maar ik kan het maar niet vinden/achterhalen...

code:
1
2
3
4
  ordFrm += '<tr><td align=center><input type="submit" '
  ordFrm += 'name="submit" value="Bestellen"> &nbsp; &nbsp; '
  ordFrm += '<td align=center><input type="reset" value="Mandje legen" '
  ordFrm += 'onClick=killCart()></td></tr></table></form><p>'

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:58
Post eens een linkje naar wat je al gemaakt hebt, want dit is maar een klein stukje zonder echte relevantie.

Verwijderd

Topicstarter
Ik heb hem hier gewoon op mijn HD staan. Maar dat kleine stukje moet al genoeg zijn toch? Volgens mij moet ik gewoon dat Killcart gebeuren invoegen ergens bij "Bestellen" oid. Of denk ik helemaal verkeerd?

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Laat anders die killKart() functie eens zien? Misschien scheelt dat iets.

Fat Pizza's pizza, they are big and they are cheezy


  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 24-05 17:37
euhm, zoiets moet je server-side doen, met php ofzo, wat heb je eraan om iets lokaal te bestellen? om toch maar een antwoord te geven: je kan een functio maken die besteld en leegmaakt en die aan de bestelknop te hangen, maar zoiets is echt basic javascript hoor.

Verwijderd

Topicstarter
JKVA schreef op 07 maart 2004 @ 16:37:
Laat anders die killKart() functie eens zien? Misschien scheelt dat iets.
Die staat er onder...
Mayco schreef op 07 maart 2004 @ 16:38:
euhm, zoiets moet je server-side doen, met php ofzo, wat heb je eraan om iets lokaal te bestellen? om toch maar een antwoord te geven: je kan een functio maken die besteld en leegmaakt en die aan de bestelknop te hangen, maar zoiets is echt basic javascript hoor.
Dat snap ik, alleen wou ik gewoon ff wat dingen proberen. Dat het basic is zal best, maar ik zal toch ergens meoten beginnen.

Het lukt me alleen niet. Heeft niemand toevallig een voorbeeld of kan iemand dat stukje code aanpassen zodat het werkt en ik kan zien hoe het in z'n werk gaat?

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 22-05 10:11

blizt

Wannabe-geek

Verwijderd schreef op 07 maart 2004 @ 16:42:
[...]


Die staat er onder...
Wij (ik in ieder geval) zien 'm anders niet ...

United we stand, and divided we fall


Verwijderd

Topicstarter
blizt schreef op 07 maart 2004 @ 16:51:
[...]

Wij (ik in ieder geval) zien 'm anders niet ...
Die gaat gewoon zo:

code:
1
ordFrm += 'value="Mandje legen" onClick=killCart()>'

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Hij bedoelt waarschijnlijk de functie zelf, niet de aanroep. Maar hier misschien een oplossing:

Doe ipv:
code:
1
<input type="submit" name="submit" value="Bestellen">

dit
code:
1
2
<input type="button" onclick="killCart();document.forms['<naam van je form>'].submit()" 
    name="submit" value="Bestellen">

[ Voor 40% gewijzigd door Amras op 07-03-2004 16:57 . Reden: layout werd verneukt ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
P&W -> W&G

Javascript hoort niet thuis in P&W, maar in W&G

https://fgheysels.github.io/


Verwijderd

Topicstarter
Amras schreef op 07 maart 2004 @ 16:55:
Hij bedoelt waarschijnlijk de functie zelf, niet de aanroep. Maar hier misschien een oplossing:

Doe ipv:
code:
1
<input type="submit" name="submit" value="Bestellen">

dit
code:
1
2
<input type="button" onclick="killCart();document.forms['<naam van je form>'].submit()" 
    name="submit" value="Bestellen">
Ik denk dat jij het door hebt, alleen zeg je dat ik

code:
1
<input type="submit" name="submit" value="Bestellen">


moet veranderen, alleen dat stukje script heb ik helemaal niet.

Ik moet

code:
1
2
  ordFrm += '<tr><td align=center><input type="submit" '
  ordFrm += 'name="submit" value="Bestellen"> &nbsp; &nbsp; '


veranderen in

code:
1
2
<input type="button" onclick="killCart();document.forms['<naam van je form>'].submit()" 
    name="submit" value="Bestellen">
[/quote]

maar hoe doe ik dat precies? :S Als ik die regels gewoon weghaal en die van jouw er voor in de plaats zet, krijg ik gewoon een "witte" index, hij laadt het zeg maar niet.

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Je hebt dat stuk script wel, het staat er momenteel alleen iets anders ;)

Om het op jouw manier te doen:

code:
1
2
3
ordFrm += '<tr><td align=center><input type="button" onclick="killCart();document.forms['<naam van je form>'].submit()" 
    name="submit" value="Bestellen"> '
ordFrm += ' &nbsp; &nbsp; '


Zet trouwens even quotes om center in je td ;)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:58
Heb je Javascript errors eigenlijk wel aan staan?

Verwijderd

Topicstarter
Amras schreef op 07 maart 2004 @ 17:10:
Je hebt dat stuk script wel, het staat er momenteel alleen iets anders ;)

Om het op jouw manier te doen:

code:
1
2
3
ordFrm += '<tr><td align=center><input type="button" onclick="killCart();document.forms['<naam van je form>'].submit()" 
    name="submit" value="Bestellen"> '
ordFrm += ' &nbsp; &nbsp; '


Zet trouwens even quotes om center in je td ;)
Ik weet zeker dat dat is wat ik wil dat hij moet doen, alleen zodra ik jouw stukje code invoer doet 'ie niks meer. De pagina blijft dan gewoon wit...

Ik vervang dus

code:
1
2
  ordFrm += '<tr><td align=center><input type="submit" '
  ordFrm += 'name="submit" value="Bestellen"> &nbsp; &nbsp; '


door

code:
1
2
3
ordFrm += '<tr><td align=center><input type="button" onclick="killCart();document.forms['<shopCart>'].submit()" 
    name="submit" value="Bestellen"> '
ordFrm += ' &nbsp; &nbsp; '


alleen doet 'ie dan niks meer...

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Hmmm... ik heb het idee dat een javascript tutorial doen geen overbodige luxe is. Verder moet je wel op een aantal dingen letten natuurlijk:

1. Heb je de naam van je form goed ingevuld? Ik zie zojuist van niet dus: document.forms['<shopCart>'] moet worden: document.forms['shopCart'] ;)
2. Er zit een enter in de code (voor name="submit") om totale layout verneuking tegen te gaan. Die moet je er even uithalen natuurlijk ;)

Zo zou het moeten lukken

[ Voor 21% gewijzigd door Amras op 07-03-2004 17:21 ]


  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Sorry... quote mezelf

Verwijderd

Topicstarter
Amras schreef op 07 maart 2004 @ 17:20:
Hmmm... ik heb het idee dat een javascript tutorial doen geen overbodige luxe is. Verder moet je wel op een aantal dingen letten natuurlijk:

1. Heb je de naam van je form goed ingevuld? Ik zie zojuist van niet dus: document.forms['<shopCart>'] moet worden: document.forms['shopCart'] ;)
2. Er zit een enter in de code (voor name="submit") om totale layout verneuking tegen te gaan. Die moet je er even uithalen natuurlijk ;)

Zo zou het moeten lukken
Naam form is goed ingevuld ja, ook heb ik die enter er uit gehaald enzo. Toch werkt het om een vage reden niet en doet 'ie helemaal niks meer zodra ik deze code invoer:

code:
1
ordFrm += '<tr><td align=left><input type="submit" onlick="killCart();document.forms['<shopCart>'].submit()"name="submit" value="Bestellen"> '


Naam form is goed ingevult, en als ik dat stukje code eruit haal doet het script het gewoon (alleen kun je dan niet op Bestellen drukken natuurlijk :P) Er zal dus ergens een foutje zitten in dat stukje code ;(

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Naam van het form is niet goed hoor, zie ook mijn edit in mn vorige post: je moet document.forms['<shopCart>'] veranderen in document.forms['shopCart'].

Edit: verder zie ik nu ook onlick staan ipv onclick en dat lijkt me niet wenselijk, daar wordt je monitor zo vies van. :P

[ Voor 37% gewijzigd door Amras op 07-03-2004 17:34 ]


Verwijderd

Topicstarter
Amras schreef op 07 maart 2004 @ 17:29:
Naam van het form is niet goed hoor, zie ook mijn edit in mn vorige post: je moet document.forms['<shopCart>'] veranderen in document.forms['shopCart'].

Edit: verder zie ik nu ook onlick staan ipv onclick en dat lijkt me niet wenselijk, daar wordt je monitor zo vies van. :P
Haha, onlick heb ik inmiddels al verbeterd hoor :)

Jammer genoeg werkt 'ie nog steeds niet :/ Zal wel door mijn "lack of skill" komen m.b.t. Javascript, maar vindt het zo jammer want ik wil zo graag dat 'ie werkt ;(

Op dit moment heb ik:

code:
1
ordFrm += '<tr><td align=left><input type="button" onClick="killCart();document.forms['shopCart'].submit()"name="submit" value="Bestellen"> '


(Sorry voor de layout, maar als ik het ook nog op moet splitsen gaat het helemaal fout :P Fix ik zo wel ff)

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Nu gaat het waarschijnlijk fout door het opbouwen van je string.

Verander:
code:
1
2
ordFrm += '<tr><td align=left><input type="button" 
    onClick="killCart();document.forms['shopCart'].submit()" name="submit" value="Bestellen"> '

eens in

code:
1
2
ordFrm += '<tr><td align=left><input type="button"
    onClick="killCart();document.forms[\'shopCart\'].submit()" name="submit" value="Bestellen"> '

Ik hoop dat het nu wel lukt, zo niet mag je ook de hele code van pagina mailen naar maartenschilt 'at' hccnet 'dot' nl. Dan zal ik er even naar kijken ;)

edit: damn... die layout is gewoon niet normaal te krijgen met die regel :P

[ Voor 45% gewijzigd door Amras op 07-03-2004 17:51 ]


Verwijderd

Topicstarter
Amras schreef op 07 maart 2004 @ 17:49:
Nu gaat het waarschijnlijk fout door het opbouwen van je string.

Verander:
code:
1
2
ordFrm += '<tr><td align=left><input type="button" 
    onClick="killCart();document.forms['shopCart'].submit()" name="submit" value="Bestellen"> '

eens in

code:
1
2
ordFrm += '<tr><td align=left><input type="button"
    onClick="killCart();document.forms[\'shopCart\'].submit()" name="submit" value="Bestellen"> '

Ik hoop dat het nu wel lukt, zo niet mag je ook de hele code van pagina mailen naar maartenschilt 'at' hccnet 'dot' nl. Dan zal ik er even naar kijken ;)

edit: damn... die layout is gewoon niet normaal te krijgen met die regel :P
Jaaaaaaaaaaaaaaa, hij werkt! Alleen niet helemaal zonder problemen, omdat hij, als ik nu op Bestellen klik, zegt dat m nmandje leeg is :) Hij leegt m dus eerst en dan probeert 'ie m te verzenden oid denk ik.

Heb je misschien iets van ICQ/MSN/AIM oid? Dat communiceert wat makkelijker. Mocht je dat niet willen is het ook best, alleen je bent al zo behulpzaam dus ik dacht van dat kan dan ook wel ;)

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 24-05 17:37
dat is logisch, je doet eerst killCart() en dan document.forms['shopCart'].submit(). Je mandje word dus eerst leeggemaakt en dan doorgestuurd. Als het script gewoon bedoeld is als oefening is hij wel af denk ik, in de praktijk ben je met zoiets toch niets.

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
Mayco schreef op 07 maart 2004 @ 19:05:
dat is logisch, je doet eerst killCart() en dan document.forms['shopCart'].submit(). Je mandje word dus eerst leeggemaakt en dan doorgestuurd. Als het script gewoon bedoeld is als oefening is hij wel af denk ik, in de praktijk ben je met zoiets toch niets.
Het blijkt uiteindelijk erg logisch, het is een (download) script voor een javascript webwinkel dmv cookies. Ik ging uit van een webwinkel in een server side taal en dan is het al raar dat je client side je cart zou moeten legen na een submit (had ik eerder op moeten komen maar ok). Wat die killCart functie hier dus doet is de cookie leeggooien en idd als je dat doet voordat je submit dan is je cookie weer leeg en je mandje dus ook.

Uiteindelijk blijkt er dus iets fout te zitten in dat download script (waar ik niet zoveel zin in heb om helemaal uit te spitten) en lijkt het me zoiezo handiger om een webwinkel te maken dmv een server side taal.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

op het moment dat je name="submit" gebruikt gaat je submit() niet meer werken hoor ;)

Intentionally left blank


  • Amras
  • Registratie: Januari 2003
  • Laatst online: 01-10-2025
crisp schreef op 07 maart 2004 @ 20:16:
op het moment dat je name="submit" gebruikt gaat je submit() niet meer werken hoor ;)
Je hebt gelijk ja, heb het ff geprobeerd. Ik had zijn code gekopieerd en alleen het type veranderd in button en een onclick eraan en de name dus gewoon laten staan, niet eens over nagedacht dat dat niet kon werken. :X
Pagina: 1