|
| Problem med onBlur og validering af felt Fra : Lars Christensen |
Dato : 20-10-03 13:25 |
|
Hejsa gruppe
Håber der er nogen der kan hjælpe her...
Jeg har en bestillingsformular, hvor jeg gerne vil have de enkelte felter
valideret, når bruger "hopper" igennem formularen.
Et antal af felterne skal være udfyldt, og jeg har lavet et lille
javascript, der validerer feltet ved "onBlur":
<Script>
var DHTML = (document.getElementById || document.all || document.layers);
function getObj(name)
{
/* Tjek om browseren understøtter DHTML... */
if (document.getElementById)
{
this.obj = document.getElementById(name);
this.style = document.getElementById(name).style;
}
else if (document.all)
{
this.obj = document.all[name];
this.style = document.all[name].style;
}
else if (document.layers)
{
this.obj = document.layers[name];
this.style = document.layers[name];
}
}
function changeCol(col,name)
{
/* skift border-farve på de formularfelter, der valideres. Feltet
bliver rødt */
if (!DHTML) return;
var x = new getObj(name);
x.style.border = "solid " + col + " 2";
}
function checkfield(name)
{
if (!DHTML) return;
var box = new getObj(name);
/* opret et objekt af typen getObj, som bruges til at hente
informationer ud af dokumentet */
if (!box.obj.value)
{
/* Undersøg hvorvidt feltet er udfyldt og hvis ikke, skift farve på
feltet samt flyt fokus til feltet. */
changeCol('#FF0000',box.obj.name);
box.obj.focus();
return false;
}
return true;
}
</Script>
Formularen der kalder dette script:
<html>
<p><label class="emne">Firmanavn * </label> <input type="text"
name="Firmanavn" class="felt" id="firmanavn" onBlur="checkfield
('Firmanavn'); return false;"></p>
<p><label class="emne">Att. person * </label> <input type="text"
name="AttPerson" class="felt" id="attperson" onBlur="checkfield
('AttPerson'); return false;")></p>
</html>
Mit problem er, at formularen går i "selvsving" eller loop, da cursoren
hopper frem og tilbage imellem de 2 felter, og dermed kan jeg ikke komme
ud igen...
Hvad kan jeg gøre for at undgå dette...???
mvh
Lars Christensen
| |
Chrisser (21-10-2003)
| Kommentar Fra : Chrisser |
Dato : 21-10-03 07:29 |
|
Lars Christensen wrote:
> Håber der er nogen der kan hjælpe her...
>
> Jeg har en bestillingsformular, hvor jeg gerne vil have de enkelte
> felter valideret, når bruger "hopper" igennem formularen.
>
> Et antal af felterne skal være udfyldt, og jeg har lavet et lille
> javascript, der validerer feltet ved "onBlur":
[snip kode]
> Mit problem er, at formularen går i "selvsving" eller loop, da
> cursoren hopper frem og tilbage imellem de 2 felter, og dermed kan
> jeg ikke komme ud igen...
>
> Hvad kan jeg gøre for at undgå dette...???
Uden at have testet din kode vil jeg foreslå at du prøver at kalde din
validering på onchange istedet for på onblur.
Chrisser
| |
|
|