webForumDet fria alternativet

disabla formulärelement

JavaScript

17 svar · 563 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

:birp
Hejsan!

Hur gör man för att disabla ALLA formulärelement på en sida? tänkte man kunde styra det med någon variabel som får sitt värde från någon cookies eller session

Mvh
Henrik

Medlem sedan dec. 20042 245 inlägg
#2
function disableFormElements() {
  var forms = document.forms, i = forms.length; 
  while (i--) {
    var elms = forms[i].elements, n = elms.length; 
    while (n--) {
      elms[n].disabled = true;
    }
  }
}

Nåt i den stilen kanske. :)

Medlem sedan juni 200032 967 inlägg
#3

Och eftersom jag ändå petat lite, så... :)

Med utgångspunkt i Peter S inlägg här, kanske följande kan funka:

function disableelements(f){
	var elms = f.elements,
	len = elms.length;
	for (var i = 0; i < len; ++i){
		elms[i].disabled=true;
	}
	return true;
}
Medlem sedan jan. 20013 582 inlägg
#4

:) Hejsan!
Okej... Men hur "aktiverar" man funktionen? Täbkte att använda den på en asp-sida och låta en variabel styra det hela...

Mvh
henrik

Medlem sedan juni 200032 967 inlägg
#5

Tja, du kallar på funktionen som vilken javascriptfunktion som helst? Kör den i onload, eller onclick, eller vad du nu vill.

Medlem sedan jan. 20013 582 inlägg
#6

Jo det är klart... men... ;)

liksom

<% If request.cookies("task")("status") = 4 Then aktivera javascript %>

typ ;)

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#7

Hmm, någon som kan hjälpa mig med hur man ska göra?

Mvh
Henrik

Medlem sedan juni 200032 967 inlägg
#8
<% If request.cookies("task")("status") = "4" Then %>
<body onload="disableelements(referenstillformuläret);">
Medlem sedan jan. 20013 582 inlägg
#9

smack!

Hmm det var ju svårt.... hmff

Tack @nders... :)

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#10

weee, det fungerar ju fint!

Men hur gör man för att utelämna ett element. En listmeny.

Mvh
Henrik

Medlem sedan apr. 20031 660 inlägg
#11

HEJ!

Det enkla svaret är väl att sätta den till enable efter din funktion?
Det går ju även att få till att den är tvärtom mot alla andra.

Medlem sedan jan. 20013 582 inlägg
#12

skulle man inte kunna få in det i funktionen på något sätt. Vad jag har förstått så stöds inte enable så bra...

Mvh
Henrik

Medlem sedan apr. 20031 660 inlägg
#13

HEJ!

Stöds enable av objekt dåligt? Det kan jag inte svara på.

Det är klart du kan lägga till den snutt som behövs i befintlig funktion; det är ju enklast. Jag hade provat såhär.

	...
	}
	return true;
	form.listruta.disabled = false; //alternativt med elements
}
Medlem sedan jan. 20013 582 inlägg
#14

Tack ska prova det!

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#15

Hej!
Provade så här:

function disableelements(f){
	var elms = f.elements,
	len = elms.length;
	for (var i = 0; i < len; ++i){
		elms[i].disabled=true;
	}
	return true;
	taskForm.taskStatus.disabled = false; //alternativt med elements
}

Men det fungerade inte. Alla element bllev disablade...

Fler tips?

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#16

bumpetibump.... sorry...

Mvh
henrik

Medlem sedan jan. 20013 582 inlägg
#17

Testade så här:

function disableelements(f){
	var elms = f.elements,
	len = elms.length;
	for (var i = 0; i < len; ++i){
		elms[i].disabled=true;
	}
	taskForm.taskStatus.disabled = false; //alternativt med elements
	return true;
}

Och det funkade fint...

Behåller dock @nders svar då det besvarar frågan hur man Disablar ALLA formulärelement. Detta får ses som ett sidospår....

Mvh
henrik

Medlem sedan apr. 20031 660 inlägg
#18

HEJ!

Perfekt! Funderade på om det kanske ska stå efter, vilket ju visade sig rätt!

Klart @nders svar är det rätta, detta är ju ett sidospår.

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)