[JS]Dubble submit

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

  • KoBolD54
  • Registratie: Maart 2002
  • Laatst online: 06-05 10:56
Ik heb een winkel wagentje waar de bestelde artikelen instaan.
Als personen van 1 artikel meerdere dingen willen hebben dan kunnen ze in een input veld het aantal 1 wijzigen in een andere getal.
Als ze daarna op de tekst herberekenen klikken wordt er een javascript gestart die dan het volgende moet doorgeven: winkelwagen.php?submit=herberekenen
Echter bij het doorgeven van de submit gaat iets fout.

Hieronder de submit knop:
code:
1
<a href="javascript: submitform('herberekenen')">Recalculate</a>


Hieronder het javascript:
code:
1
2
3
4
5
6
function submitform(actie) {

    document.winkelwagen = document.winkelwagen + "<input type=hidden name=submit value='"+ actie +"'>";
    document.winkelwagen.submit();

}


winkelwagen is de naam van het form.
Hopelijk kan iemand mij hiermee helpen ik zie niet wat ik fout doe.

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 25-04 09:11
document.winkelwagen is een object, namelijk een form. Hieraan wil je vervolgens een string toevoegen in de eerste regel van de functie submitforum. Dat kan dus niet.

  • KoBolD54
  • Registratie: Maart 2002
  • Laatst online: 06-05 10:56
zou je me dan aub kunnen zeggen hoe het wel moet, zo goed ben ik niet in javascript

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Wat je zou kunnen is die hidden input al in je html zetten, en met javascript alleen de actie veranderen.
code:
1
<input type="hidden" name="actie" value="">

code:
1
document.forms['formnaam'].elements['actie'].value = actie;

[ Voor 14% gewijzigd door Rickets op 13-06-2005 16:00 ]

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


  • KoBolD54
  • Registratie: Maart 2002
  • Laatst online: 06-05 10:56
Nu heb ik dat geprobeerd maar het werkt nog niet.

mijn javascript is:
code:
1
2
3
4
function submitform(actie) {
document.forms['winkelwagen'].elements['actie'].value = actie;
document.forms['winkelwagen'].submit();
}


nu krijg ik de volgende errors:
Line: 3
Char: 1
Error: 'document.forms.winkelwagen.elements.actie' is null or not an object
Code: 0

Er staat nu wel boven in de URL:
index.php?actie=herberekenen

echter werkt het nog niet.
Iemand nog een idee?

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
JavaScript:
1
document.forms['winkelwagen'].action += '?submit=herbereken';


Als de method van je form een Get is dan heb je waarschijnlijk een knop met de name submit.

In dat geval

JavaScript:
1
  document.forms['winkelwagen'].elements['submit'].value = 'herbereken';

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
@KoBolD: Heb je ergens een live demo online staan?

Zoiezo is het beter te werken met het DOM model, dat wil in dit geval zeggen dat je je velden en formulieren niet stuurt met document.forms(...) maar met document.getElementById(). Hiermee maak je minder snel fouten.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mosymuis schreef op dinsdag 14 juni 2005 @ 14:35:
Zoiezo is het beter te werken met het DOM model, dat wil in dit geval zeggen dat je je velden en formulieren niet stuurt met document.forms(...) maar met document.getElementById(). Hiermee maak je minder snel fouten.
Afaik is de .forms collection nog steeds een onderdeel van DOM 1...

En waarom zou je minder snel fouten maken? Mijn ervaring is dat het geven van een unieke ID aan al je elementen foutgevoeliger is als het kunnen aanspreken van elementen via de niet unieke name

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:23

crisp

Devver

Pixelated

faabman schreef op dinsdag 14 juni 2005 @ 14:31:
JavaScript:
1
document.forms['winkelwagen'].action += '?submit=herbereken';


Als de method van je form een Get is dan heb je waarschijnlijk een knop met de name submit.
[...]
Als je een form-element hebt met name="submit" dan heb je een ander probleem: dan heb je namelijk effectief de JS submit() method overschreven ;)

Intentionally left blank


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:08

Pelle

🚴‍♂️

Beetje zoeken / googlen / etc en je had dit ook gevonden :)
Pagina: 1

Dit topic is gesloten.