webForumDet fria alternativet
Logga in / Bli medlem

Submit-funktion

JavaScript

5 svar · 450 visningar · startad av asp

Medlem sedan aug. 2002733 inlägg
Frågan#1

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....

Medlem sedan dec. 20025 483 inlägg
#2

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".

Medlem sedan aug. 2002733 inlägg
#3

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?

Medlem sedan dec. 20025 483 inlägg
#4

Du kan ju testa att sätta en timeout:

onsubmit="document.form1.submit(); window.setTimeout('document.form1.inlagg.value=\"\"',[b]100[/b])"
Medlem sedan aug. 2002733 inlägg
#5

Fungerar inte. :(

Finns det inga andra alternativ?

Medlem sedan dec. 20025 483 inlägg
#6

Har du testat att variera timeoutvärdet för window.setTimeout()? Om inte, testa öka det.

251 ms totalt · 4 externa anrop · v20260731065814-full.14655e19
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)