Лучший способ отключить всю форму на условии PHP? - PullRequest
1 голос
/ 30 ноября 2010

У меня есть сайт (как и у многих). Я хочу показать , но отключить конкретную форму в зависимости от того, вошли они или нет. Я показываю, вошел ли пользователь в систему, с помощью файла cookie, установленного PHP. Что мне интересно, так это лучший способ отключить все элементы формы, когда пользователь не вошел в систему.

Решение, которое у меня есть на данный момент, состоит в том, чтобы получить PHP на echo немного JavaScript (точнее, jQuery) на страницу:

$("#form_name").children("input, textarea").attr("disabled", "disabled");

Это правильный путь или есть лучший способ делать вещи?

Ответы [ 3 ]

3 голосов
/ 30 ноября 2010

Если у вас установлен cookie, когда PHP генерирует вашу страницу, просто установите атрибут disabled в элементе HTML без Javascript. Затем, если у вас есть форма входа в систему ajaxy, вы можете проанализировать ответ входа в систему и активировать форму на основе этого. Если логин не ajaxy, PHP должен установить cookie для вас и правильно построить страницу.

2 голосов
/ 30 ноября 2010

Используя jQuery, вы можете найти все элементы input, select и textarea, которые в данный момент не отключены, и отключить их, используя : enabled селектор

$("#form_id").find("input:enabled, select:enabled, textarea:enabled").attr("disabled", "disabled");
1 голос
/ 30 ноября 2010

Если у пользователя не включен javascript, то, конечно, ответ таков: это не очень хорошая идея.

Во-вторых, просто использование отключенных входов - тоже плохая идея, злонамеренный пользователь может настроить вашу страницу и легко включить.

Тем не менее, все в порядке, если вы убедитесь, что поля, которые вы хотите отключить, не будут приняты на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...