Archief - JS: formulier verzenden

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Ramm

Legacy Member
Dit is het probleem: Ik heb een klein scriptje:

Code:
function setAction(action){
	document.getElementById("action").value = action;
	document.getElementById("frmUpdateProduct").submit();
}

En een formulier
Code:
<form name="frmUpdateProduct" id="frmUpdateProduct" method="post" action="">
<select name="new_lang_id" onchange="javascript:setAction('change_lang');">
  <option></option>
  <option></option>
  ...
</form>

En een javascript-fout:
Code:
Error: document.getElementById("frmUpdateProduct").submit is not a function
Source File: http://192.168.123.198:8080/pdbaspshop/admin/catalog.asp?p=4&action=add&step=2&pid=
Line: 18
Het enige dat ik dus niet heb, is een oplossing voor het probleem. Ik heb al geprobeerd met het formulier een andere naam te geven --> geen verandering. Ik heb al geprobeerd om het formulier anders aan te roepen (document.frmUpdateProduct.submit();) --> Geen verandering.

Iemand een wijze raad om dit euvel op te lossen?-

SideShow

Legacy Member
Dno, heb niet echt gezocht achter die submit functie in javascript, maar je kan ook zo werken:

Code:
function submit_blablabla() {
     if (document.jeForm.jeControl[document.jeForm.jeControl.selectedIndex].value)
      location=document.jeForm.jeControl[document.jeForm.jeControl.selectedIndex].value
  }

Ramm

Legacy Member
SideShow zei:
anders mss nog hier:

http://www.javascript-coder.com/javascript-form/javascript-form-submit.phtml

Zeker dat je getelementbyid nodig hebt voor je form ??
-> document.myform.submit();

schiet mij ni af als tni juist is
Heb ik ook geprobeerd. Maar het rare is: Als ik een totaal nieuwe pagina maak, met exact dezelfde functie, dan lukt het wel. Maar als ik een uurtje bezig ben met die pagina, dan werkt ze plotseling niet meer, ook al heb ik niks veranderd aan het formulier, en enkel een paar "input"'s toegevoegd. Als ik dan die veranderen ongedaan maak tot aan het moment waarop het wel werkte, opnieuw upload, dan doet hij het nog altijd niet :sad:

SideShow

Legacy Member
misschien hele blokken html in <!-- commentaar --> zetten , totdat het wel werkt, stukjes code uitsluiten dus

Ramm

Legacy Member
Het probleem is: het treed plotseling op, en eens het daar is, kun je er niks meer aan verhelpen. Zelfs als je teruggaat naar de alleroorspronkelijkste code, geeft hij nog steeds een fout. Wat ik wel heb gevonden is dat het blijkbaar veroorzaakt wordt door dat er enkele tabellen in mijn formulier staan 8-). Nochtans heb ik dit probleem bij andere pagina's niet. Nuja, ik heb het dan maar op een onorthodoxe manier opgelost: mijn formulier buiten mijn tabel zetten, vol met hidden fields, en bij het verzenden kopieert hij alle data vanuit de tabel naar het formulier, en pas dan verzendt hij het formulier.

Problem solved dus

dJeez

Legacy Member
Je doet een getElementById op action, zie jij ergens een element met id action staan? Ik alvast niet. De oplossing is de ID van de form te nemen en dan de action property van het form object te gebruiken, maw :
Code:
function setAction(action){
        var frmUpdate = document.getElementById("frmUpdateProduct");
	frmUpdate.action = action;
	frmUpdate.submit();
}

Ramm

Legacy Member
dJeez zei:
Je doet een getElementById op action, zie jij ergens een element met id action staan? Ik alvast niet. De oplossing is de ID van de form te nemen en dan de action property van het form object te gebruiken, maw :
Code:
function setAction(action){
        var frmUpdate = document.getElementById("frmUpdateProduct");
	frmUpdate.action = action;
	frmUpdate.submit();
}
Die stond er wel degelijk, maar ben ik gewoon vergeten vermelden hier ;-). Anyways, de foutmelding deed zich daar niet voor, wel bij de frmUpdate.submit
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan