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å?
7 svar · 378 visningar · startad av Nöff
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å?
Vad menar du med "disable en hel sida"?
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.
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.
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?
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.
Ok tack. Men finns det ingen en-funktions-grej som stänger av allt på en gång?