webForumDet fria alternativet

Byta class på okänt antal formelement?

2 svar · 247 visningar · startad av hltm

hltmMedlem sedan nov. 2004438 inlägg
#1

Hej, jag har ett ett formulär "customerinfo" m okänt antal formfält, där jag m h a koden (som jag hittat här på forumet tror jag) :

function disableAllFormElements(){
  for(var j = 0; j < document.all.customerinfo.length; j++)	
{
document.all.customerinfo.elements[j].disabled = 
(document.all.customerinfo.elements[j].disabled=="")?"false":""
}
}

togglar alla input-fälts disable/enable-status via onClick = "javascript:disableAllFormElements();".

Problemet är att jag även skulle vilja byta class på varje enskild form-tagg i formuläret customerinfo, dvs från class="customerelem" till class="customerelem-edit", alt byta attributen i customerelem beroende på om disabled eller inte?

Hur kommer jag åt det enskilda elementets class och kan ändra det i funktionen ovan disableAllFormElements?

/Edit.
Jag har även det här skriptet:

function switchclass(id){

   if(document.getElementById(id)){    //check the element exists and can be accessed
       var ele = document.getElementById(id); //get hold of the element
       if(ele.className=="customerelem"){   
           ele.className="customerelem-edit";       
       }else{
           ele.className="customerelem";     
       }
   }
}

men jag lyckas inte gifta ihop dem... :r :)

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#2
function toggleDisable()
{
	var f = document.customerinfo;
	for (var i = 0; i < f.elements.length; i++)	
	{
		var el = f.elements[i];
		el.disabled = !el.disabled;
		el.className = (el.className == "customerelem" ? "customerelem-edit" : "customerelem");
	}
}
hltmMedlem sedan nov. 2004438 inlägg
#3

Ett stort & fett tack! :)
Varför ska det alltid se så självklart ut när man väl ser det?

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)