webForumDet fria alternativet

check av bildens höjd m.m i onSubmit

4 svar · 331 visningar · startad av PatrikB

PatrikBMedlem sedan mars 20002 836 inlägg
#1

varför funkar inte denna kod i eventet onSubmit?

<SCRIPT language="javascript">
function imgSize(obj, w, h, fs){
	var imgpath = obj.value;
	var imgTemp = new Image();
	imgTemp.src = imgpath;

	// -- kontrollera hur bred bilden är --
	if (imgTemp.width >= w){
		alert('Bilden är för bred.\nDen får max. vara ' + w + ' pixlar bred.\n\nVälj en annan bild.');
		return false;
		//document.location.reload();
	
	// -- kontrollera bildens höjd --
	}else if(imgTemp.height >= h){
		alert('Bilden är för hög.\nDen får max. vara ' + h + ' pixlar hög.\n\nVälj en annan bild.');
		return false;
		//document.location.reload();
	
	// -- kontrollera hur stor bilden är i bytes --
	}else if(imgTemp.fileSize > fs){
		alert('Bilden får inte vara mer än ' + fs + ' byte stor.\n\nVälj en annan bild.');
		//document.location.reload();
		return false;
	}
	return true;
}
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF" text="#000000">
<FORM name="form1" method="post" action="test.asp" enctype="multipart/form-data" onSubmit="return imgSize(this, 100, 50, 100);">
  <INPUT type="file" name="file">
  <INPUT type="submit" name="Submit" value="Submit">
</FORM>

Den funkar om man lägger anropet till funktionen i eventet onChange på file fältet.

Skulle gärna vilja veta om det finns en typ Right() funktion som i ASPn för att kunna hämta de sista tecknen fram till sista punkten, dvs filändelsen.

cya and thx
PatrikB

BroskanMedlem sedan mars 2000126 inlägg
#2

Ett lien justering.

Det här funkar:

<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
function imgSize(obj, w, h, fs){
var imgpath = obj.value;
var imgTemp = new Image();
imgTemp.src = imgpath;

// -- kontrollera hur bred bilden är --
if (imgTemp.width **\>** w){
	alert('Bilden är för bred.\\nDen får max. vara ' + w + ' pixlar bred.\\n\\nVälj en annan bild.');
	return false;
	//document.location.reload();

// -- kontrollera bildens höjd --
}else if(imgTemp.height **\>** h){
	alert('Bilden är för hög.\\nDen får max. vara ' + h + ' pixlar hög.\\n\\nVälj en annan bild.');
	return false;
	//document.location.reload();

// -- kontrollera hur stor bilden är i bytes --
}else if(imgTemp.fileSize \> fs){
	alert('Bilden får inte vara mer än ' + fs + ' byte stor.\\n\\nVälj en annan bild.');
	//document.location.reload();
	return false;
}
return true;

}
</SCRIPT>
</HEAD>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<FORM NAME="form1" METHOD="post" ACTION="test.asp" ENCTYPE="multipart/form-data" onSubmit="return imgSize(this.file,100,50,100);">
<INPUT TYPE="file" NAME="file">
<INPUT TYPE="submit" NAME="Submit" VALUE="Submit">
</FORM>
</BODY>
</HTML>

Jag har ändrat >= till > på höjd och bredd men det var inte det viktiga utan this till this.file

//Broskan

PatrikBMedlem sedan mars 20002 836 inlägg
#3

kan inte se vad det är du har justerat?

kan du fetmarkera justeringarna vore jag tacksam

cya,
PatrikB

BroskanMedlem sedan mars 2000126 inlägg
#4

Fungerar det nu?

Jag ser att vi skriver i framtiden numera det är redan den 26:e ;)
Det är väl nya servern som visar fel eller utländsk tid.

//Broskan

PatrikBMedlem sedan mars 20002 836 inlägg
#5

thx,

kunde inte posta något igår =( .....

En miss med detta script är att det inte funkar med netscape 4.x

Men, nu funkar det fint i ie och man får väl "gömma" fileboxen om det är någon NSare som användare *ler*

cya,
PatrikB

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