Problem: När man klickar "Cancel" på en Windows pop-up som frågar om man vill "Open this file from its current location / Save this file to disk" så vet jag inte hur man fångar upp att användaren klickade på Cancel istället för okay. Kan man göra det?
(För mig känns det dessutom som om man totalt tappat kontrollen över ASP-sidan när man väl fått upp pop-up:n. En Javascript test-alert längs ner på sidan körs t.ex inte som jag trodde om man "Cancel" väljs från pop-up:n).
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
Okay, tack för snabba svaren :) Jag provade först med response.redirect längst ner på sidan men den verkade "hinna före" header infot på nåt sett, för pop-up:n kom aldrig upp. Sen provade jag med en javascrpt location.href som pekade tillbaka till sidan som genererade pop-up:n, eftersom jag tänkte att klient-koden kördes efter server-koden, men i det här fallet så verkar det alltså som om det ligger bortom vår kontroll..
(Det som är "knäppt" är att om man trycker Cancel så hoppar man tillbaka till ursprungs sidan, och allt ser normalt ut. Men jag har en massa radio-knappar och rullgardinsmenyer etc, som submittar sidan, och på nåt sätt så tror browsern att jag vill "Spara en fil" för varje nästkommande submit, och ger mig den där dumma pop-up:n. Klickar man på "Refresh" så försvinner problemet dock. Fast det upplevs ju lite som en "bug" :)
Sooo.. kunde man lösa det med loggning eller... hängde inte riktigt med på hur du menade Emission? :) Fast om det är krångligt så skippar vi det.. det är ju ingen katastrof iofs.. Tack igen.
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
ListCustomers.asp har en href som man klickar på för att komma till CreateTable.asp, vilken är filen som genererar Excel-filen. Följande kod skapar Excel filen i CreateTable.asp:
response.ContentType = "application/vnd.ms-excel"
response.AddHeader "content-disposition", "attachment; filename=" & Date() & ".xls"
'Här kommer lite HTML och ASP som användaren inte ser.
Href:n i ListCustomer.asp som anropar Excel filen är inte spec. märkvärdig och den ser ut ung. så här:
Det är möjligtvis nu som "knepet" kommer :) När man klickar på länken så skickas ju all info via http headern och den bearbetas i CreateTable.asp, men i browsern syns inte detta, utan för användaren ser det fortfarande ut som man befinner sig i ListCustomers.asp, bortsett från att en pop-up ruta kommer upp och frågar hur man vill spara filen.
Klickar man på Spara så är allt okay. Klickar man på "Cancel" så ser det okay ut fortfarande och man ser samma ListCustomer.asp. MEN - när man klickar på något som submittar sidan, en radioknapp t.ex, så kommer pop-up rutan upp igen och frågar om man vill spara. Exempel på en sån submit ser ut så här ungefär:
<input type="radio" name="rAscDesc" value="desc" onClick="frmExecute.submit();">
där frmExecute submittar tillbaka till ListCustomers.asp
<form action="/path/ListCustomers.asp" name="frmExecute" method="get">
Så där, det var väl all relevant info jag kunde komma på som jag hoppas belyser hur min sida fungear, och problemställningen. :) Om problemet går att lösa blir jag glad, eftersom jag inte har en susning. I annat fall får jag väl leva med det. Tack igen.
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
hehehe.. sjutton !! Jag såg ditt inlägg igår innan jag skulle lägga mig, o var lite skeptisk till att den där lilla extra kodraden skulle vara tillräcklig... men så provade jag precis nyss, o det fungerade ju på en gång !!
Kanon Emission! Tusen tack! :)
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
Tack för hjälpen senast :) Litet problem uppstod dock tyvärr. Jag lade in
function CreateExcel()
{
frmExecute.action="/path/CreateTable.asp";
frmExecute.submit();
frmExecute.action="/path/ListCustomers.asp";
}
och det fungerade bra såtillvida att form-action inte längre var CreateTable.asp och problemet med att pop-up rutan dök up försvann. Men nu verkar det som om ListCustomers.asp istället "hänger kvar" i form-action eftersom den aldrig submittas. Detta innebär att alla <href> som inte samtidigt gör en submit inte fungerar (bl.a. de i meny-framen).
Mina försök:
Flytta submit så att den ligger sist i CreateExcel funktionen. Resultat: CreateTable.asp exekveras då aldrig. Två st. submits hjälper inte heller, då endast den senaste submitten skickas.
I vanliga fall hade jag satt en response.redirect eller javascript funktion i CreateTable.asp så att man därifrån kunde submitta ListCustomers.asp när man var klar i CreateTable.asp, men det verkar ju vara för sent som Emission sa:
Nej, varken Javascript eller ASP rår på detta. Det är webbläsaren som poppar upp rutan, och det är liksom för sent att ingripa då.
Men kanske någon vet om det finns ett helt annat sätt att angripa problemet? :) Det är så lätt att man själv börjar tänka i samma banor när man väl börjat o glömmer något som kanske är uppenbart.. Tack igen.
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
Men nu verkar det som om ListCustomers.asp istället "hänger kvar" i form-action eftersom den aldrig submittas. Detta innebär att alla <href> som inte samtidigt gör en submit inte fungerar (bl.a. de i meny-framen).
Va? href:arna har inget med formuläret att göra och ska inte kunna påverkas.
Aldrig submittas? Inte ens till createtable.asp?
------------------
-------------------
Att vara puckad är att dö en smula. - Skywalker
Jag vet inte varför det blev så, men det berodde inte på den kod som jag fick av dig, utan var så redan innan, upptäckte jag. (Den kod jag fick av dig hjälpte ju att ta bort pop-upen vid varje ny submit, så det var ju kanonbra, :)
Men av någon anledning fungerar inte en enda <a href> EFTER det att man valt o skapa Excelarket; dvs jag kan alltså submitta till CreateTable.asp eller klicka på nån href i menyn så länge jag inte väljer att klicka på länken som submittar till CreateTable.asp.
Eftersom problemet löser sig så fort man gör något som submittar sidan försökte jag komma på något som submittar om ListCustomers.asp automatiskt, antingen innan eller efter CreateTable.asp anropats, nu sist mha
<META HTTP-EQUIV="Refresh" URL="/path/ListCustomers.asp">
i CreateTable.asp
men det hjälper som sagt inte.. Jag vet inte riktigt vilken info som stannar i HTTP-headern om det nu är problemet.. för jag kan ju inte submitta om sidan.. ?
------------------
"Between stimulus and response is a pause wherein our ability to choose lies".
259 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e