webForumDet fria alternativet

formulär koll

5 svar · 346 visningar · startad av asp

aspMedlem sedan aug. 2002733 inlägg
#1
function check(s) {
			var a = s.split(',');
			for(var i=0; i<a.length; i++) {
				if(document.wee.kon.value=="") {
					alert('Fyll i alla nödvändiga fält!');
					return false;
				}
			}
		}

Den fungerar inte, men om man ändrar == till != så visas alert-rutan.

Tanken är att "kon" skall ersättas med a sedan...

PepeJeriaMedlem sedan feb. 2003774 inlägg
#2

Exakt vad innehålller s?

aspMedlem sedan aug. 2002733 inlägg
#3

typ "kon,alder,bor,jobbar"

Men det är sak samma, inte där felet ligger. Den påverkar ju inte ens.

PepeJeriaMedlem sedan feb. 2003774 inlägg
#4

Så om jag förstått det hela rätt vill du kolla alla fält i s om de e ifyllda eller inte?

Kanske bättre att anropa funktionen check så här

validateFields('kon', 'alder', 'bor', 'jobbar');

istället för att skicka en sträng.

Sen kan du med hjälp av arguments kolla hur många parametrar som skickades och loopa igenom dem:

<script type="text/javascript">
function validateFields()
{
	var oForm = document.forms["wee"];

	for(var i=0; i<arguments.length; i++)
	{
		if(!oForm[arguments[i]].value.length)
		{
			alert('Fyll i alla nödvändiga fält!');
			return false;
		}
	}

	return true;
}
</script>

<form name="wee" onsubmit="return validateFields('kon', 'alder', 'bor', 'jobbar');">
<!-- etc... -->

... och om du nu inte vill hårdkoda formulärnamnet i funktionen (för att använda samma funktion till flera forms) kan du skicka med en referens till form:en i första argumentet:

<script type="text/javascript">
function validateFields()
{
	var oForm = [b]arguments[0][/b];

	for(var i=[b]1[/b]; i<arguments.length; i++)
	{
		if(!oForm[arguments[i]].value.length)
		{
			alert('Fyll i alla nödvändiga fält!');
			return false;
		}
	}

	return true;
}
</script>

<form name="wee" onsubmit="return validateFields([b]this[/b], 'kon', 'alder', 'bor', 'jobbar');">
aspMedlem sedan aug. 2002733 inlägg
#5

Hmm... den fungerar inte.. den bara hoppar skickar vidare....

PepeJeriaMedlem sedan feb. 2003774 inlägg
#6

Den submittar om alla fält är ifyllda, annars får du en alert. Testa!

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