webForumDet fria alternativet

disabla hela sidan

7 svar · 378 visningar · startad av Nöff

NöffMedlem sedan nov. 2003569 inlägg
#1

tjena..

Om jag vill disabla en knapp gör jag såhär:
(inne i textboxen) this.disabled=true

Men om jag vill disable en hel sida, hur gör jag då?

dectgapMedlem sedan sep. 20021 655 inlägg
#2

Vad menar du med "disable en hel sida"?

NöffMedlem sedan nov. 2003569 inlägg
#3

Om man sätter en knapp till disabled så blir den lite gråare och kan inte tryckas på.. Jag skulle vilja göra samma sak med en hel sida, så att man låser sidan ungefär

typ:
document.forms.disabled=true;
men denna funkar inte riktigt.

dectgapMedlem sedan sep. 20021 655 inlägg
#4

Ett formulärselement som är disabled är "avstängt".
Att de flesta webbläsare sedan färgar det grått är ju fint, men det spelar mindre roll.

Det finns ingen betydelse i att "stänga av sidan", på samma sätt som det inte finns någon betydelse i "att dricka könsroller" - inte bara är det omöjligt, det finns ingen logik i uttrycket.

Med det sagt:
Vill du ha grå text? Använd style sheets.
Vill du ha grå bakgrund? Använd style sheets.
Vill du ta bort möjligheten för folk att använda knapparna på sina möss när de är inne på din sida? Glöm det.
Vill du ta bort menyn man får upp vid högerklick på din sida? Det är möjligt (sök i forumet), men definitivt inte uppskattat.

NöffMedlem sedan nov. 2003569 inlägg
#5

Det finns ingen betydelse i att "stänga av sidan", på samma sätt som det inte finns någon betydelse i "att dricka könsroller" - inte bara är det omöjligt, det finns ingen logik i uttrycket.

Klart det finns betydelse. Tänk dig följande scenario:

1. Du har 10 knappar på din sida och dessa submittar till olika funktioner
2. Klickar användaren 1 knapp så kan det ibland ta några sekunder innan servern svarar.
3. Vad ska du då göra för att förhindra att användaren klickar till en annan knapp under tidan han väntar på att servern ska svara på det första klicket?

dectgapMedlem sedan sep. 20021 655 inlägg
#6

Då menar du att vill stänga av alla element på sidan - inte stänga av hela sidan.
Ja, jag är medveten om att jag låter som en gnällig tant som berättar om hur hårt de hade det med matransoner under andra världskriget, men jag förstod faktiskt inte vad du menade från början.

För att stänga av alla formulärselement på sidan kan du loopa igenom allihopa och sätta disabled=true på varenda ett av dem.

T ex så här:

function disableAllFormElements(){
	for(var x = 0; x < document.forms.length; x++)
		for(var j = 0; j < document.forms[x].length; j++)
			document.forms[x].elements[j].disabled = true;
}

Eller om man vill använda protype, som är så roligt:

HTMLFormElement.prototype.disable = function() {
	for(var x = 0; x < this.length; x++)
		this.elements[x].disabled = true;
}

som anropas genom formulär.disable(), där formulär är en referens till formuläret, t ex genom document.forms["namnet"], document.getElementById("formId"), this (ifrån formulär-elementet) m.m.

NöffMedlem sedan nov. 2003569 inlägg
#7

Ok tack. Men finns det ingen en-funktions-grej som stänger av allt på en gång?

dectgapMedlem sedan sep. 20021 655 inlägg
#8

Nej.

Men nu har du två.

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