Om jag skriver:
document.all.NAMNET_PÅ_FÄLTET.style.borderColor='#FF0000';
Då får fältet en röd ram men jag vill att det automatiskt ska bli en röd ram utan att behöva veta namnet på fältet. Om ni förstår vad jag menar. :)
3 svar · 309 visningar · startad av vidstige
Har ett problem vid valideringen. Vill att formuläret ska kollas oberoende hur många fält som finns i formulret. De fält som inte fyllts i ska få en röd border. Men det vill inte funka för det blir ingen röd border kring fältet. Men den känner av att det finns fält som inte fyllts i för alerten 'Du har inte fyllt i de rödmarkerade fälten!' kommer upp.
function Check()
{
var theForm = document.forms[0];
var all = theForm.elements;
var flag = 0;
var y = 0;
while(all[y])
{
y++;
}
for(i=0; i<y; i++)
{
if(all[i].value=='')
{
flag = 1;
document.all[i].style.borderColor='#FF0000';
}
}
if(flag)
{
alert('Du har inte fyllt i de rödmarkerade fälten!');
return false;
}
return true;
}
Om jag skriver:
document.all.NAMNET_PÅ_FÄLTET.style.borderColor='#FF0000';
Då får fältet en röd ram men jag vill att det automatiskt ska bli en röd ram utan att behöva veta namnet på fältet. Om ni förstår vad jag menar. :)
Ändrat lite i din kod så att det fungerar.
<form>
<input type="text"> <input type="text"> <input type="button" value="Submit" onclick="Check(this.form);">
</form>
<script type="text/javascript">
function Check(form)
{
var theForm = form;
var flag = 0;
for(i=0; i<form.elements.length; i++)
{
if(!form.elements[i].value)
{
flag = 1;
form.elements[i].style.borderColor = "#FF0000";
}
}
if(flag)
{
alert('Du har inte fyllt i de rödmarkerade fälten!');
return false;
}
return true;
}
</script>
Får tacka så mycket. Nu funkar det fint.