webForumDet fria alternativet

Kompabilitetsproblem

9 svar · 940 visningar · startad av bwcMikke

bwcMikkeMedlem sedan okt. 2004159 inlägg
#1

Jag har denna kod i en aspx-sida

	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?

Tack på förhand till den som löser problemet.

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Hur ser ditt formulär ut? har den attributet name="form1"? Vilken webbläsare ge dig problem?

bwcMikkeMedlem sedan okt. 2004159 inlägg
#3
<form enctype="multipart/form-data" name="form1" id="form1" runat="server">
	<input type="hidden" name="hidID" id="hidID" runat="server" />

			<input type="text" size="50" name="edtArtno" id="edtArtno" runat="server" onKeyDown="mark(this,event);" /></td>
				<textarea rows="5" name="edtBeskrivning" id="edtBeskrivning" cols="60" runat="server" onKeyDown="mark(this,event);"></textarea>
			<input name="cmdSave" type="button" id="cmdSave" onClick="Save();" value="   Spara   ">
            <input name="cmdRemove" type="button" id="cmdRemove" onClick="Remove();" value="  Radera  ">
</form>

Jag har testat att ta bort alla onKeyDown så det är inte där felet ligger heller.

Jag har kört med IE9, FF6.0.2 och Safari 5.1 - alla med Windows Vista och alla ger mig problem.

voigtann1Medlem sedan juni 20019 519 inlägg
#4

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?

För koden ser korrekt ut: http://jsbin.com/ucoher/

bwcMikkeMedlem sedan okt. 2004159 inlägg
#5

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.

voigtann1Medlem sedan juni 20019 519 inlägg
#6

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();
		}
	}

och på din onclick så har du Remove(this)

bwcMikkeMedlem sedan okt. 2004159 inlägg
#7

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)

Skall testa din kod inom kort.

bwcMikkeMedlem sedan okt. 2004159 inlägg
#8

Nu fungerar det i alla fall i IE och FF

Vad är det för skillnad i ditt och mitt JS? Vad har jag gjort för fel?
Vi kanske inte behöver fundera varför det fungerat tidigare men inte nu o.s.v.

Tack så väldigt mycket för hjälpen :-D

voigtann1Medlem sedan juni 20019 519 inlägg
#9

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.

onkelborgMedlem sedan juli 2003555 inlägg
#10

Lärdom: var är felet? Hur ser koden ut på klienten, dvs efter att t.ex SAP.net eller ögon har manglat den

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)