webForumDet fria alternativet

Forumlärscheck problem med funktion och en bild som knapp

JavaScript

4 svar · 253 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#1

Jag kollar om ett par fält i ett formulär är ifyllda innan jag skickar formuläret, om jag använder en vanlig submitt button fungerar det perfekt, men om jag byter ut den mot en bild så kollar den om fälten är tomma och man får upp en msgbox om de är tomma som säger att man måste fylla i de som är tomma. Men sen skickar den ändå formuläret

<script language="JavaScript" type="text/javascript">
function doCheckFields()

{
	var SubmitForm
	
	SubmitForm = false
	
	if (choiceForm.strName.value == '')
	{
		alert("Distributor name field is empty!");
		choiceForm.strName.focus();
		return false;
	}

	
	if (choiceForm.strAdress1.value == '')
	{
		alert("Adress field is empty!");
		choiceForm.strAdress1.focus();
		return false;
	}
	
	if (choiceForm.strCity.value == '')
	{
		alert("City field is empty!");
		choiceForm.city.focus();
		return false;
	}
	
	document.choiceForm.submit()
}
</script>

Submittknappen har följande kod

 <input type="image" border="0" name="Submitt" src="Images/Btn_Ok.gif" width="26" height="15" onClick="doCheckFields();">

Någon som vet hur man löser detta ?

Medlem sedan juni 200032 967 inlägg
#2

Ta bort submit-raden ur scriptet så borde det fungera.
Dessutom, variabeln SubmitForm använder du inte.

Mvh,

Medlem sedan dec. 19996 522 inlägg
#3

Tack @nders men det blev fortfarande samma sak, kommer upp en msgbox som säger om fältet är tomt (är det inte det så skickas den direkt till nästa sida), trycker man ok så skickas formuläret

Medlem sedan juni 20004 308 inlägg
#4

Plocka bort onClick från knappen och använd onSubmit från <form>-taggen istället. Detta skall du alltid göra när du skall kolla ett formulär vid submit eftersom det finns fler sätt att skicka iväg formulär än att klicka på submit-knappen.

Alltså;

<form onSubmit="return doCheckFields()" osv...

Byt sedan ut;

document.choiceForm.submit()

mot;

return true;

Vill du sedan snygga till det lite kan du använda document.choiceForm. istället för bara choiceForm.

Medlem sedan dec. 19996 522 inlägg
#5

Tack så mycket ! det fungerade, men bara om jag använde document.choiseForm

275 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)