aspMedlem sedan aug. 2002733 inlägg 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...
aspMedlem sedan aug. 2002733 inlägg typ "kon,alder,bor,jobbar"
Men det är sak samma, inte där felet ligger. Den påverkar ju inte ens.
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 Hmm... den fungerar inte.. den bara hoppar skickar vidare....
Den submittar om alla fält är ifyllda, annars får du en alert. Testa!