2016-12-19 51 views
-1

使用以下代碼行更改我的一些輸入標記中的顯示屬性。在PHP中使用JS更改屬性

echo '<style type="text/css"> #Save{display:none;}</style>'; 

所以,我想用同樣的方法來定義我的輸入是否被禁用,或者它是否只是readOnly輸入。

我試圖使用這個,但顯然不工作。

echo '<style type="text/css"> #Exist{disabled;}</style>'; 

有什麼建議嗎?

謝謝你的幫助。

回答

4

disabled不是CSS屬性。這是一個HTML屬性。如果你想用PHP來禁用輸入你需要呼應disabled屬性到元素,即:

<input <?php if($disabled){ echo 'disabled'; } ?>> 

如果由於某種令人難以置信的奇怪的原因,你需要禁止使用CSS的輸入元素,你可以申請pointer-events: none;,防止用戶點擊註冊。但這是極其嚴格的陪審團制度,並非禁用輸入的正確方式,而且令人難以置信的不可靠(例如,用戶仍然可以「對輸入進行標記」)。實際上,完全忽略這一部分。用HTML做。

只是作爲附錄,作爲無盡指出的那樣,你可以目標使用:read-only:disabled和其他選擇在CSS中的元素。例如:

input:disabled { 
    /* some styles */ 
} 

上述樣式僅適用於被禁用的輸入元素。但實際上禁用輸入是HTML任務,而不是CSS任務。

此外,雖然不可能很快破壞您的代碼,但最好的做法是使用小寫字母開頭ID,如有必要,請使用駱駝套。例如,#Save應該是#save

+1

除此之外,我還想指出的是[:只讀](https://developer.mozilla.org/en-US/docs/Web/CSS/:read-only)和[:disabled](https://developer.mozilla.org/en-US/docs/Web/CSS/:disabled)選擇器,您可以使用該選擇器根據屬性更改樣式 – Endless