Archief - JS: Submit buiten een form

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.

hl2.be

Legacy Member
Ik heb een lijst met bij ieder item een checkbox. Nu wil ik met de aangevinkte items iets doen in PHP. Er zijn drie buttons (die eigenlijk images zijn) die buiten de form staan. Hoe kan ik die form submitten en per button een parameter meegeven of iets dergelijks zodat php weet welke functie hij moet uitvoeren ?

Ramm

Legacy Member
PHP:
<script>
function sendForm(action){
  document.getElementById("action").value = action;
  document.getElementById("form").submit;
}
</script>
<form id="form" action="page.php">
<input type="hidden" name="action" value="" id="action" />

</form>

<input type="button" name="btnSubmit1" onclick="sendForm('action1');" />
<input type="button" name="btnSubmit1" onclick="sendForm('action2');" />
<input type="button" name="btnSubmit1" onclick="sendForm('action3');" />

/edit
Buttons buiten de form gezet :D

DarkBone

Legacy Member
Err...
da's toch moeilijk doen als het ook simpel kan Ramm? Een button mag je gewoon een value meegeven als parameter hoor. Zolang alle drie die buttons dezelfde naam dragen zal de overeenkomstige value uiteindelijk doorgestuurd worden.

Squall-sX-

Legacy Member
DarkBone zei:
Err...
da's toch moeilijk doen als het ook simpel kan Ramm? Een button mag je gewoon een value meegeven als parameter hoor. Zolang alle drie die buttons dezelfde naam dragen zal de overeenkomstige value uiteindelijk doorgestuurd worden.
Maar als je het op die manier doet kun je ook met links en images werken om te submitten.

Ramm

Legacy Member
DarkBone zei:
Err...
da's toch moeilijk doen als het ook simpel kan Ramm? Een button mag je gewoon een value meegeven als parameter hoor. Zolang alle drie die buttons dezelfde naam dragen zal de overeenkomstige value uiteindelijk doorgestuurd worden.
De images staan buiten de form, waardoor je bijna niet anders kan dan via JS werken (denk ik)

DarkBone

Legacy Member
Squall-sX- zei:
Maar als je het op die manier doet kun je ook met links en images werken om te submitten.

Links zijn hier niet aan de orde (anders moet je idd via javascript submitten) en images kun je gebruiken door als input type 'image' te kiezen, en dan is javascript overbodig, tenminste indien gebruikt binnen het formulier. Dan kan je mooi de value attribuut gebruiken.

Ramm zei:
De images staan buiten de form, waardoor je bijna niet anders kan dan via JS werken (denk ik)
In uw voorbeeld staan ze binnen de form ;)
En ik snap nie waarom ze in zijn geval nie binnen de form zouden kunnen staan... nuja, indien dat toch het geval is, dan uw oplossing inderdaad een goeie mogelijkheid :)

hl2.be

Legacy Member
Bedankt voor jullie reacties, maar ik heb nog een probleempje.

Ik heb een knop met een javascript functie eraan gekoppeld, maar die functie moet enkel worden uitgevoerd wanneer de gebruiker bevestigt door op 'ok' te klikken bij het dialoog venster.

Dus mijn onclick event ziet er als volgt uit:

onclick="return confirm('Weet u zeker dat u blabla...');sendForm('multidel')"

Als ik op 'annuleren' klik wordt de sendForm functie niet uitgevoerd, maar als ik op 'ok' klik gebeurt er dus niets. Hoe los ik dit op ?

Squall-sX-

Legacy Member
Doordat je je confirmbox uitkomst al returned voert em niks uit dat erachter staat. Je moet deze met een if statement controleren, en indien nodig de sendForm functie uitvoeren.
Code:
onclick="if(confirm('Weet u zeker dat u blabla...')==true){sendForm('multidel')}"
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