Hej Har en popup med ett formulär med en submit på slutet.
<INPUT TYPE="submit">
Jag vill att den ska utföra det som formuläret är till för samt stänga fönstret.... har försökt att söka här men får dock ingen klarhet i det.
Mvh
Martin
:OO
7 svar · 266 visningar · startad av martinpartin
Hej Har en popup med ett formulär med en submit på slutet.
<INPUT TYPE="submit">
Jag vill att den ska utföra det som formuläret är till för samt stänga fönstret.... har försökt att söka här men får dock ingen klarhet i det.
Mvh
Martin
:OO
du kan anropa en funktion som tex:
function submitForm(form)
{
form.submit();
self.close();
}
<input type="button" onClick="submitForm(this.form);">
Jag är osäker på omdet verkligen kommer funka. En variant är ju att anropa window.close() direkt i den fil som genereras av det mottagande scriptet.
Varför skulle det inte fungera? Denna kod är ju i popup:en, eller hur? du submittar o stänger fönstret...
Nej, det är inte säkert att det fungerar. Precis som Spango säger kan scriptet stänga fönstret och då även döda alla processer som fönstret startat - detta innan http-request'en har slutförts. Det kan funka, eller inte, men för att vara säker är det bättre att stänga popup'en från sidan som formuläret anropar.
Såhär har jag gjort i mitt forum när man infogar kod i sina trådar.
En popup kommer upp, i den finns en textruta och en submit, sen har jag funktionen:
<script type="text/javascript">
function in_put(){
opener.document.form.inlagg.value += " [ kod]" + document.form.koden.value + "[/ kod]"
window.close(self)
}
</script>
Sen på submitknappen:
<input type='submit' value='Infoga' class='knappar'>
Sen i FORMtaggen:
<form name='form' action='#' method='post' target='_self' [b]onSubmit='in_put();'[/b]>
Det funkar klockrent, den infogar alltså det man skrivit i popupen till huvuddokumentet.
Det är inte samma sak :) Ditt formulär generarar aldrig någon http-request (enkelt förklarat: du har ingen action i formuläret). Det enda du gör är att via onsubmit-eventet ändra ett värde i ett formulär i moderfönstret.
La det på sidan det postas till så den stänger när den gjort allt. ASP:N kör väl först. Det fungerar klockrent. Tack