我有一個表單,它預填充了數據庫中的值。如果用戶已登錄且擁有足夠的權限,則用戶可以編輯這些字段。這一切運作良好;但是,如果用戶是而不是登錄,則不能更改這些字段。我有它,所以壞用戶所做的任何更改都不會保存到數據庫中,但是我希望使用戶甚至不能單擊這些字段。保持表單域不可編輯
有沒有一種方法來有條件地允許表單字段可點擊?
我有一個表單,它預填充了數據庫中的值。如果用戶已登錄且擁有足夠的權限,則用戶可以編輯這些字段。這一切運作良好;但是,如果用戶是而不是登錄,則不能更改這些字段。我有它,所以壞用戶所做的任何更改都不會保存到數據庫中,但是我希望使用戶甚至不能單擊這些字段。保持表單域不可編輯
有沒有一種方法來有條件地允許表單字段可點擊?
只需將readonly
屬性添加到HTML標籤,就像這樣:
<input type="text" value="sample" readonly>
你可以在你輸入添加禁用標記,如果用戶沒有登錄,例如:<input type="text" name="lname" disabled>
你可以禁用該字段時沒有登錄。
<input type="text" name="lname" <?php print (isLoggedIn($user)?"disabled":"");?> >
如果出於某種原因,你不想讓他們照看殘疾,你可以使用一個CSS類修改禁用字段的外觀。
根據你的session變量,你可以嵌入一小段jQuery。 說$_SESSION['login'] == true
,然後
$(document).ready(function() {
$('.showbox').attr("disabled", true);
});
,類似的還有$_SESSION['login'] == false
爲啓用設置。
這允許您選擇多個文本框或全部只是通過添加類或ID到文本框標記。
更改表單的外觀是不夠的,您必須控制代碼的保存方,以便只有登錄用戶才能保存。並且不會顯示未登錄用戶的文本框,只需將沒有框的數據放入即可。 – ahmad
我建議你重新考慮這種方法。如果用戶沒有登錄,那麼只顯示他們的信息沒有任何形式。 – cartalot
這似乎是一個巨大的重寫,而添加只讀字段非常快速和容易地工作。缺點是什麼? (我們並不過分關心安全性,它只是內部使用的幫助工具) – thumbtackthief