function Remove(){
if (confirm("Vill du ta bort artikeln ''"+document.form1.edtArtno.value+"''?")){
document.form1.action="artiklar.aspx?action=remove";
document.form1.target="_self";
document.form1.submit();
}
}
Det har funkat fint de senaste 5-6 åren men nu har jag stött på en server där detta inte fungerar - inte med alla webbläsare i alla fall.
Fungerar bra när jag kör lokalt med IIS i minst tre olika webbläsare.
Jag misstänker att det är något med referenserna:
document.form1.?????
Skall det vara stora bokstäver, saknas något före document eller vad?
Varför har det slutat fungera?
Vad generera du för HTML? runat="server" ser ut som en .NET liknande lösning och där vet jag med webforms att id:et aldrig bli vad du skrev i ditt form, gäller det samma med name?
Jo jag ser att det fungerar på din server och det har fungerat på flera andra domäner också.
Jag har haft ett ÅF-konto hos Aleborg på servern 193.17.218.20 där det har fungerat bra, men nu har jag programmerat för en kompis som också har ett Aleborg-konto men på servern 195.74.38.16.
Förmodligen är det ju någon konfigurationsskillnad på servrarna men jag kan (utan att vara negativ mot Aleborg) knappast få dem att konfigurera om en hel server för min skull.
Med tanke av att javascript inte behöver någon server konfiguration så tror jag inte det hjälper. Men vad genereras ut av din server kod är mer intressant.
prova med denna JS kod annars:
function Remove(el){
var form = el.form;
if (confirm("Vill du ta bort artikeln ''"+form.edtArtno.value+"''?")){
form.action="artiklar.aspx?action=remove";
form.target="_self";
form.submit();
}
}
Förvisso sant att JS inte bryr sig om servern, men varför fungerar då exakt samma kod när jag kör på min lokala IIS-server eller på andra servrar på nätet?
Det finns något som heter "<%@ Page language="c#" ValidateRequest=False %>" som jag misstänker är inblandat. Det skall vara lite lösare regler när man stänger av ValidateRequest men jag undrar om det i serverkonfigurationen står att man inte får stänga av den på enskilda sidor (nu blev det mer .net-server av frågan)
Min gissning är att .NET ge ett annat namn på ditt formulär, så istället för att försöka hitta formuläret på namnet så letar koden upp vilket formulär som är knutet till knappen.