Jag har ett huvudformulär(1) med en knapp till ett annat formulär(2), som då öppnas i ett nytt popup-fönster. När formulär 2 är ifyllt anropas en 3:e fil(3), som inte öppnas i något fönster, utan bara lägger in värdena i en databas. I slutet på 3 använder jag Response.Redirect tillbaka till huvudformuläret, skickar med ett av värdena från formulär 2, för att där se till att just det värdet är förvalt i en dropdownlist. När du öppnar formulär 2, och släpper fokus på ditt huvudformulär se då till att spara ned huvudformulärets uppgifter i cookies eller sessionsvariabler. Kan jag spara ner uppgifter från huvudformuläret fastän det inte exekverats? I det skede du trycker på knappen och vill öppna ditt "pop-up" formulär så spar då också ned huvudformulärets värden till en minnescookie. Då kan du, efter att du redirectar från den 3:e filen, den fil som stoppar ner värden till databasen, läsa in cookien till huvudformulärets textboxar igen. Tack! Hann aldrig testa ditt förslag.Uppdatera vissa delar av ett formulär
Knapp i formulär 1...
<td width="220">
<input type="button" value="or add a new" onClick="newComp();">
</td>
öppnar nytt formulär i nytt fönster...
function newComp()
{
window.open("newComp.asp", "newComp", "height=300, width=450");
}
...som när det är ifyllt skickas till...
<form name="comp" action="newCompConf.asp" method="post" target="main">
där jag lägger in värden i databasen och dirigerar tillbaka till det ursprungliga formuläret
Response.Redirect("newCompTopic.asp?newComp=" & comp)
Problemet är att alla eventuella andra värden som man redan skrivit in i formulär 1 försvinner om jag använder Response.Redirect. Hur kan jag göra för att gå tillbaka till huvudformuläret - men bara uppdatera just det textfältet i formuläret?
//CicciSv: Uppdatera vissa delar av ett formulär
Eftersom du gör en ny Redirect till huvudformuläret från 3:an laddas formuläret om och läser in de uppgifter du har sparat i din cookie eller sessionsvariabel. När detta är gjort så döda dina cookies/sessionsvariabler.Sv:Uppdatera vissa delar av ett formulär
Sv: Uppdatera vissa delar av ett formulär
Sv:Uppdatera vissa delar av ett formulär
Jag löste det såhär med Javascript istället:
I huvudformulärets fil la jag in dessa funktioner:
//funktion som öppnar nytt formulär
function compForm()
{
window.open("newComp.asp", "newComp", "height=300, width=450");
}
//funktion som uppdaterar dropdownbox med värde från pop-upformulär, utan att ladda in databasposterna igen
function addComp(choice)
{
alert(choice);
var len = document.topic.comp.length;
alert(len);
alert(document.topic.comp.options[len-1].text);
//här kan man ju anstränga sig och lägga in den i bokstavsordning...
document.topic.comp.options[len] = new Option(choice,choice,true,true);
//document.topic.comp.options.length = 0; - funkar
//alert("borta!");
}