aspMedlem sedan aug. 2002733 inlägg Hej.
Jag håller på att göra en chat där jag använder en iframe för att visa all chat-text. Formuläret ligger alltså utanför iframen.
När man skrivit ett meddelande och trycker på spara så sparas meddelandet i iframen men själva formuläret blir inte tömt eftersom bara iframen laddar om.
<form method="post" action="save.asp" target="ram">
Det fungerar inte att göra en funktion som tömmer formuläret för då töms det innan det skickas till sparsidan. Alltså vill jag skicka datan och därefter tömma formuläret.
Formuläret består av en text-ruta som heter inlagg.
Tack på förhand....
Peter SMedlem sedan dec. 20025 483 inlägg Hej!
Ett sätt är att i save.asp använda
<script type="text/javascript">
window.onload = function()
{
parent.document.forms["namn_på_formulär"].reset();
}
</script>
Då nollställs formuläret när save.asp laddats klart.
Skulle det vara så att du refreshar <iframe>en periodvis, kan det vara klokt att i action skriva save.asp?refresh=true och i JavaScriptet
<script type="text/javascript">
window.onload = function()
{
if (/refresh=true/.exec(location.search)){
parent.document.forms["namn_på_formulär"].reset();
}
}
</script>
Alltså, när du refreshar save.asp periodvis säger du location.href = "save.asp" och när formuläret postas säger du action="save.asp=refresh=true".
aspMedlem sedan aug. 2002733 inlägg Ditt första exempel har jag använt innan. Men jag skulle föredra att man på något sätt kunde skriva:
onsubmit="document.form1.submit(); document.form1.inlagg.value='';"
Något liknande fungerar inte?
Peter SMedlem sedan dec. 20025 483 inlägg Du kan ju testa att sätta en timeout:
onsubmit="document.form1.submit(); window.setTimeout('document.form1.inlagg.value=\"\"',[b]100[/b])"
aspMedlem sedan aug. 2002733 inlägg Fungerar inte. :(
Finns det inga andra alternativ?
Peter SMedlem sedan dec. 20025 483 inlägg Har du testat att variera timeoutvärdet för window.setTimeout()? Om inte, testa öka det.