[js] problemen met form submit door link

Pagina: 1
Acties:

  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
Ik ben bezig met het maken van paginas waar ik een menu heb die bestaat uit links. Deze paginas zijn forms om data op te kunnen slaan in een database.

Als ik op een link druk wil ik naar een andere pagina maar eerst de form van de huidige pagina submitten.

Het probleem is dus dat de form action naar een andere pagina wijst dan de link waar ik heen wil.

hier is een stukje waar ik mee werk:
(url is de url waar ik heen wil)

code:
1
2
3
4
5
6
7
8
<form action="url1" method=\"post\">

<a  href="url2" title="title" onClick="submit();return true;">name</a>

function submit()
{
     document.forms[0].submit;
}


Een probleem wat ik tegenkom is dat het soms wel goed gaat en soms niet (geen regelmaat in te bekennen). Dit vind ik dus heel vreemd.

Is het mogelijk om met javascript ervoor te zorgen dat eerst de submit in de ene pagina word gedaan en daarna de link wordt gevolgd die via de href word gegeven en dat er zekerheid is dat alles is gepost????

Ik hoop dat ik alles een beetje goed heb kunnen verwoorden.

Verwijderd

onSubmit ="'location='www.url/nl'" in je form zetten?

  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
helaas werkt dit niet omdat dan de pagina in de pagina blijft hangen waar de submit word gedaan. Alle data wordt dus wel opgeslagen maar hij gaat niet naar de pagina waar de link naar wijst.

Ik wil dus na de submit naar de pagina waar de href naar wijst. (maar eerst moet ik in de andere de post hebben gedaan)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23-08 09:52

Pelle

🚴‍♂️

Verwijderd schreef op 12 March 2003 @ 11:03:
onSubmit ="'location='www.url/nl'" in je form zetten?

Als je niet weet waar je het over hebt, reageer dan ook niet :)

De makkelijkste oplossing is denk ik je form naar een hidden frame submitten (gewoon een target opgeven in je form-tag).

/edit
Nog makkelijker is het natuurlijk om gewoon een meta- of javascript refresh te bouwen in de pagina waar je je form naar submit.

[ Voor 17% gewijzigd door Pelle op 12-03-2003 11:27 ]


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

probeer eens return false in je link ipv return true... en plaats in je href attribuut of een # of een geldige url maar geen variable.

www.jurgroessen.nl


  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
Hangloozz schreef op 12 maart 2003 @ 11:39:
probeer eens return false in je link ipv return true... en plaats in je href attribuut of een # of een geldige url maar geen variable.
Ja ehm en dan??? dan kom ik toch nooit naar de link waar ik heen wil????

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

mja, ff niet goed gelezen :+

Waarom laat je de pagina waar je naartoe post niet regeln welke pagina je te zien krijgt?
Lijkt me makkelijker; kun je gelijk controleren of alles gepost is.

Je kunt javascript gebruiken; zodra de page laad, direct naar een andere url:
code:
1
body onload = "self.location.href = 'blaat.html';"


of met PH, dmv header:
code:
1
header("Location: http://www.domein.nl/blaat.html");

www.jurgroessen.nl


  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
het is mij nog niet gelukt om het totaal werkend te krijgen zonder mijn hele structuur om zeep te helpen.
(Dit is toch wel het laatste wat ik wil)

Ik wil dus even de aandacht vestigen op het punt dat het soms wel werkt en soms niet. Dit vind ik zelf heel raar.
Dus weet iemand misschien daar een antwoord op?
Waarom word soms alles wel opgeslagen en soms niet.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

okee ff een paar andere punten:

- function submit() kan niet, submit is een gereserveerd woord. dus maak iets als function submitAll() ofzo.

- submit() is een method en moet dus als functie genoteerd worden, dit:
code:
1
document.forms[0].submit;

is geen functie...
Dat moet dit worden:
code:
1
document.forms[0].submit();

- bouw eventueel een timertje in dat je zeker weet dat er gesubmit wordt voordat je de url switched.

voorbeeld:
code:
1
2
3
4
5
function submitAll()
{
     document.forms[0].submit();
     setTimeout("self.location.href='blaat.html', 500);
}


Maar zoals ik het nu zie gaat het dus fout omdat je code te brak was...

www.jurgroessen.nl


  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 22:10
Hangloozz schreef op 12 March 2003 @ 12:57:
Maar zoals ik het nu zie gaat het dus fout omdat je code te brak was...
Denk het ook ja en d'r staan trouwens ook geen script tags omheen, maar dat kan ook een copy/paste foutje zijn natuurlijk :)

  • xillius
  • Registratie: November 2001
  • Laatst online: 23-01-2022
hehe ik ben idd niet zo stom om geen tags neer te zetten, maar ik heb maar een klein deel van mijn code geplaatst, anders word het er niet duidelijker op.

De code heb ik naar aanleiding van de tips beter gemaakt maar helaas werkte het hierdoor niet beter.

Het probleem ontstaat dat er een run is welke link als eerste uitgevoerd gaat worden. Hierdoor slaat ie het soms wel op en soms niet.

Ik ga het nu zo proberen te maken dat er na het posten gelijk word doorgelinkt naar de nieuwe pagina. (waar ik de URL van meestuur in de post)

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

xillius schreef op 12 March 2003 @ 19:03:
Het probleem ontstaat dat er een run is welke link als eerste uitgevoerd gaat worden. Hierdoor slaat ie het soms wel op en soms niet.
Nee, het probleem is dat je oplossingsroute een doodlopende straat is ;) Wat je wil kan gewoonweg niet op deze manier.
De reden dat het soms wel werkt en soms niet is afhankelijk van de responstijd van de server en/of van het netwerkverkeer en/of (waarschijnlijk ook nog) de reactiesnelheid van je browser. En is daarmee dus een niet echt solide oplossing zoals je al had ondervonden.
Wat je nu doet is een request naar de server sturen en meteen daarachteraan stuur een je een bericht "laat maar" (doordat je naar een andere link wil navigeren). En als dat laatste bericht binnen is voor de vorige request is afgehandeld zal er dus niets opgeslagen worden.
xillius schreef op 12 March 2003 @ 19:03:
Ik ga het nu zo proberen te maken dat er na het posten gelijk word doorgelinkt naar de nieuwe pagina. (waar ik de URL van meestuur in de post)
Dat zal inderdaad beter werken.

Today's subliminal thought is:

Pagina: 1