webForumDet fria alternativet

Forumlärscheck problem med funktion och en bild som knapp

JavaScriptur Javascript

4 svar · 253 visningar · startad av erka

erkaMedlem sedan dec. 19996 522 inlägg
#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 ?

@ndersMedlem sedan juni 200032 969 inlägg
#2

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

Mvh,

erkaMedlem 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

JojoxxMedlem 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.

erkaMedlem sedan dec. 19996 522 inlägg
#5

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

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