webForumDet fria alternativet

Formulär som inte vill postas

15 svar · 404 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Tjena!

Har följande forumlär:

<form name="frmPrintServ" action="service_result.asp" method="post" target="_blank">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="text"><font color="#666666"><b>Utskriftsalternativ:</b></font></td>
</tr>
<tr>
<td class="text">
<input type="radio" name="strCH" value="missed" class="radio">&nbsp; Missade Servicebesök&nbsp;&nbsp;
<input type="radio" name="strCH" value="coming" class="radio">&nbsp; Kommande Servicebesök
<input type="radio" name="strCH" value="all" class="radio">&nbsp; Alla mina Hissar
</td>
</tr>
<tr>
<td style="height: 10px;"><img src="pics/spacer.gif" style="0px;" alt=""></td>
</tr>
<tr>
<td class="text"><a href="#" onClick="return actService();"><img src="pics/frm_print.gif" style="border: 0px;" alt=""></a></td>
</tr>
</table>
</form>

Funktionen som det kallar på ser ut såhär:

<!--
function actService(){
	var f = document.frmPrintServ;
	
	if(f.strCH[0].checked == false && f.strCH[0].checked == false && f.strCH[0].checked == false){
			alert("Du måste välja ett alternativ ovan.\n");
	}else{
			if(confirm("Dina objekt kommer nu öppnas i ett nytt\nfönster formaterat för utskrift.\n\nVill du fortsätta?\n")){
				f.submit();
			}
	}
	return false;
}
//-->

Det jag vill uppnå är att om någon radiobutton ej är vald, ska felmesset "Du måste välja en..." komma upp.
Har man valt en av dessa och tryckt på knappen, ska confirm-rutan komma upp, vid tryck på "Ok" ska formuläret postas.

Har provat lite olika saker, men får det inte att funka, jag ser heller inget direkt fel i koden, men det har ju hänt så många gånger förut att man stirrar sig blind på sin egen kod.

Tack!

@ndersMedlem sedan juni 200032 969 inlägg
#2

På vilket sett fungerar det inte?

if(f.strCH[0].checked == false && f.strCH[0].checked == false && f.strCH[0].checked == false){

Varför kollar du samma sak tre gånger? Jag skulle tippa på att det kan vara en bra idé att byta en av nollorna till ett, och den andra till två.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Re: Formulär som inte vill postas

@nders skrev:

Jag skulle tippa på att det kan vara en bra idé att byta en av nollorna till ett, och den andra till två.

MickeA.com skrev:

...men det har ju hänt så många gånger förut att man stirrar sig blind på sin egen kod.

:)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#4

Sådär, nu var det ändrat, men formuläret postas fortf. inte, vad an detta?
Har sökt en del och hittat trådar med liknande problem, där lösningen har varit att vederbörande orsakat en konflikt med "submit".

Så är det inte här, formuläret valideras schysst, problemet är bara att det inte postas när valideringen är klar.

@ndersMedlem sedan juni 200032 969 inlägg
#5

När jag testar din kod fungerar det klockrent.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#6

@nders skrev:

När jag testar din kod fungerar det klockrent.

Aha, vad kan det här bero på då?
Öppnas "målfilen" i nytt fönster och allt hos dig? Undra varför det blir såhär hos mig då. Efter att jag valt en av radioknapparna och svarar "Ok" i confirm-rutan, så händer inget mer, kan trycka flera ggr på rad, men inget händer överhuvudtaget.

Strange....

@ndersMedlem sedan juni 200032 969 inlägg
#7

Jepp, det öppnas ett nytt fönster och originalfönstret lämnas orört.

Ligger koden uppe?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#8

Det här var det märkligaste jag varit med om. Valideringsscriptet ligger i en separat .js-fil och gjorde om lite i det. Jag sätter "method", "action" i scripet och sen bytte jag ut posta-knappen mot en <input type="image" onClick="">, då postades formuläret en gång, när jag sedan uppdaterar sidan och provar igen, då funakr det inte längre.

Ska prova det här i en annan webläsare. Återkommer...

MickeA.comMedlem sedan feb. 20034 441 inlägg
#9

@nders skrev:

När jag testar din kod fungerar det klockrent.

- I vilken webläsare testade du? Jag provade precis i Firefox ochdär funkar det ausgemärkt. Flera gånger efter varann och allt.
Men i IE är det som det är, det postas helt enkelt inte. Undra vad det här kan bero på.
Vill du se mer kod?
Vilken kod isf.?

<tr>
<td class="text">
<form name="frmPrintServ" target="_blank">
<table cellpadding="0" cellspacing="0">
<tr>
<td class="text"><font color="#666666"><b>Utskriftsalternativ:</b></font></td>
</tr>
<tr>
<td class="text">
<input type="radio" name="strCH" value="missed" class="radio">&nbsp; Missade Servicebesök&nbsp;&nbsp;
<input type="radio" name="strCH" value="coming" class="radio">&nbsp; Kommande Servicebesök
<input type="radio" name="strCH" value="all" class="radio">&nbsp; Alla mina Hissar
</td>
</tr>
<tr>
<td style="height: 10px;"><img src="pics/spacer.gif" style="0px;" alt=""></td>
</tr>
<tr>
<td class="text"><input type="image" src="pics/frm_print.gif" style="border: 0px;" onClick="return actService();"></td>
</tr>
</table>
</form>
</td>
</tr>
=======================================
<!--
function actService(){
	var f = document.frmPrintServ;
	
	if(f.strCH[0].checked == false && f.strCH[1].checked == false && f.strCH[2].checked == false){
			alert("Du måste välja ett alternativ ovan.\n");
	}else{
			if(confirm("Dina objekt kommer nu öppnas i ett nytt\nfönster formaterat för utskrift.\n\nVill du fortsätta?\n")){
				f.action = "service_result.asp";
				f.method="post";
				f.submit();
			}
	}
	return false;
}
//-->

Såhär ser hela koden ut för tillfället.
Notera att javascriptet ligger i en separat js-fil.

@ndersMedlem sedan juni 200032 969 inlägg
#10

Jag testade i IE6.

Kan du inte ladda upp det någonstans så man får testa det precis som det ser ut?

Det känns som om det måste vara något annat på sidan som gör så detta inte fungerar. För koden du postar funkar klockrent för mig.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#11

Problemet är att det här är ett stort nyckelregister över hela sthlm, adresser, portkoder mm. till jobbet, så det är inte så glatt att jag låter andra logga in, det är den jobbiga biten, går det bra om jag klistrar in hela källkoden på något ställe som du sen kan kolla på`?

Du hittar hela källan på:
http://klistra.mickea.com/default.asp?p=show&pId=173&wRn=true

Problem-koden hittar du mellan rad 160 - 181.

@ndersMedlem sedan juni 200032 969 inlägg
#12

Externa javascriptfiler cachas väldigt ofta av IE, och webbläsaren brukar inte vara duktig på att uppdatera. Så, prova att tömma cachen i webbläsaren eller byta namn på javascriptfilen.

mvh

MickeA.comMedlem sedan feb. 20034 441 inlägg
#13

Nu har jag provat tömma cachen, har även tagit bort javascriptet från .js-filen och lagt den högst upp i själva filen där det här formuläret finns.
Det funkar inte heller, har provat att stänga IE och öppna ny ruta, men det funkar helt enkelt inte...

Jag fattar ingenting och vet inte hur jag ska göra för att komma runt det här, jag vill ju ha en bild som submitknapp.

Några förslag?

MickeA.comMedlem sedan feb. 20034 441 inlägg
#14

Jaha, nu har jag löst problemet.
Det var inget fel på min kod utan fel på mig. "MSN Toolbar" (som installeras i samband med MSN) har en popup-stoppare som var akiverad.
Givetvis hade inte jag en tanke på att ett nytt fönster (_blank) räknades som ett popufönster, men så var fallet.

Så dyker ni själv på detta problem, kontrollera så ni har någon popup-stoppare som ligger ivägen ;)

Tack @nders för dina tappra försök att hjälp mig :bire

Jesper TMedlem sedan nov. 20017 144 inlägg
#15

Ja, ibland är det mycket skit bakom knapparna. ;)

MickeA.comMedlem sedan feb. 20034 441 inlägg
#16

Jesper T skrev:

Ja, ibland är det mycket skit bakom knapparna. ;)

Jo, tur att @nders genom en slump indirekt lyckades lösa problemet åt mig ;)

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