Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Автозаолнение темы в личных сообщениях

Автозаолнение темы в личных сообщениях


     27.08.2011    Хаки    2662

вопрос
итак знатоки.. начинается новый раунд wink
внимание вопрос: Как сделать так, чтобы при отправке личного сообщения на сайте поле "Тема" не было обязательным, а при его не заполнении - автоматически подставлялся текст "Без темы"...
smile

Ответил: Sander


Вариант 1:
Открыть файл engine/modules/pm.php
После строки:
$subj = $db->safesql( $parse->process( trim( $_POST['subj'] ) ) );

Вставить:
if(empty($subj)) $subj = "Без темы";

Найти и удалить код:
document.getElementById('dle-comments-form').subj.value == '' ||



Открыть файл engine/ajax/pm.php
После строки:
$subj = $parse->process( trim( $_POST['subj'] ) );

Вставить:
if(empty($subj)) $subj = "Без темы";



Вариант 2:
Открыть файл pm.tpl
В самом начале файла вставить:
<script type="text/javascript">
function check_pm(){
    if(document.getElementById('dle-comments-form').subj.value == '') document.getElementById('dle-comments-form').subj.value = "Без темы";
    $("#dle-comments-form").submit();
    return;
};
</script>


Найти кнопку отправления формы, она может иметь аттрибут type="submit"
Пример:
<button type="submit" name="add" class="fbutton"><span>Отправить</span></button>

Заменить на:
<button type="button" onclick="check_pm();return;" name="add" class="fbutton"><span>Отправить</span></button>

Т.е. изменились type="button" и добавилось onclick="check_pm();return;"

Вариант 3 (самый простой):

Находим в pm.tpl
value="{subj}"
и меняем на:
value="Без темы" onfocus="this.value = '';"

Всё. теперь по молчанию будет стоять "Без темы" а при вводе темы - введённая тема.
Отредактировал 28-08-2011, 02:16 - ПафНутиЙ
Причина: добавил вариант три

Комментарии пользователей (7)

DatiX
2

174 | 112

DatiX - 27 августа 2011 14:31 - Юзер

все равно проверка проходит и выводит "Заполните все необходимые поля"

DatiX
2

174 | 112

DatiX - 27 августа 2011 17:39 - Юзер

спасибо...
а код
document.getElementById('dle-comments-form').subj.value == '' ||

нужно у всех 3 местах удалить?

nowheremany
192

1659 | 1292

nowheremany - 27 августа 2011 20:18 - Эксперт

Проще было бы в шаблон вставить Без темы или убрать в hidden. и без правки двига

Благодарность принимаю тут Связь

Sander
1125

1636 | 1202

Sander - 27 августа 2011 21:44 - Эксперт

Тоже вариант, но лучше оставлять возможность ввода своей темы.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

DatiX
2

174 | 112

DatiX - 27 августа 2011 21:52 - Юзер

вариант SANDERa мне больше подходит, так как действительно нужна возможность вводить тему...

ПафНутиЙ
1063

3392 | 2433

ПафНутиЙ - 28 августа 2011 00:18 - Админ

Добавил ещё один, самый простой вариант. smile

Каков вопрос - таков и ответ. Просто помните об этом.

DatiX
2

174 | 112

DatiX - 28 августа 2011 02:14 - Юзер

вот это разнообразие wink
но использовал вариант от Сандера... так как он внешне не влияет на вид формы...
ВСЕМ ПАСИБО!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы