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 · 312 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.