appnedChild og derefter removeChild
Hej eksperterJeg har en form med en masse input felter. Nogle er påkrævet at udfylde, og jeg vil gerne have, at der vises en fejl-tekst ved det felt, der ikke er udfyldt, hvis man prøver at sende formen. Det er standard de fleste steder, så det vil jeg også gerne have.
Jeg bruger <dl>, <dt> og <dd> til at liste mine felter med (input felter er i <dd>.
Hvis der mangler at blive udfyldt et felt, bruger jeg appendChild til at sætte et ekstra sæt <dt> og <dd> ind, og fejlmeddelelsen vises i <dd> elementet.
Mit problem er, at jeg gerne vil fjerne dette element igen, når brugeren sender formen igen, fordi der ellers kommer til at stå den samme fejlmeddelelse to gange under det input-felt der er fejl i. Men jeg ved ikke hvordan... Er der en funktion til at fjerne alle tilføjede elementer? Eller skal jeg gå en helt anden vej?
Min funktion:
function writeErrMsg(frmId,elmNm,errMsg) {
// Function to append specified error message to the specified field
var errelem1 = document.createElement('dt');
errelem1.id = 'errelem1';
errelem1.innerHTML = ' ';
var errelem2 = document.createElement('dd');
errelem2.id = 'errelem2';
errelem2.innerHTML = errMsg;
var allElms = document.getElementById(frmId).elements;
alert(allElms);
for(var n=0; n < allElms.length; n++)
{
if(allElms[n].name == elmNm)
{
allElms[n].parentNode.removeChild;
allElms[n].parentNode.appendChild(errelem1);
allElms[n].parentNode.appendChild(errelem2);
var pos = findPos(allElms[n]);
window.scrollTo(0,pos);
return;
}
}
}
Det kan godt være, at det er noget "cowboy-kode", men jeg er ret ny i DOM ;-). Måske skal det gøres på en helt anden måde...?
Michael