Настройка приглашения только для чтения - PullRequest
0 голосов
/ 06 марта 2019

Я устанавливаю переменную, равную вводу из приглашения, и затем она передается и используется для отображения на моей странице.Тем не менее, я не думаю, что нужно использовать подсказку, но я не знаю, как это сделать иначе.По сути, как только он запрашивает их, его электронная почта уже находится в окне приглашения, и это то, что я хочу, но я не хочу, чтобы они могли изменять поле, чтобы избежать ввода другого адреса электронной почты, отличного от того, который был задан в их сеансе.,Любой совет?Мой код ниже.

    selectable: true,
   selectHelper: true,
   select: function(start, end, allDay) {
   var title = prompt('Confirm Email:','<?php echo "{$_SESSION['email']}"; ?>');



   if (title) {
   var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss");
   var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss");
   $.ajax({
       url: 'add_events.php',
       data: 'title='+ title+'&start='+ start +'&end='+ end,
       type: "POST",
       success: function(json) {
       alert('Added Successfully');
       }
   });

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Если вы не хотите, чтобы пользователь мог изменять заголовок, просто не спрашивайте его об этом. Кажется, вы не добавляете событие непосредственно в fullCalendar, а вместо этого отправляете его на сервер (и, вероятно, после этого вы заставляете fullCalendar повторно извлекать события с сервера, я бы предположил, хотя это не показано).

Так что, если заголовок должен всегда быть адресом электронной почты, хранящимся в сеансе, то при запуске add_events.php просто выберите письмо из сеанса в это время и используйте его в качестве заголовка при сохранении события в вашей базе данных. , Вам не нужно беспокоиться об отправке поля title в запросе ajax или о том, чтобы пользователь вводил его.

Показанный вами фрагмент кода на стороне клиента может быть изменен на:

selectable: true,
selectHelper: true,
select: function(start, end, allDay) {

if (title) {
   var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss");
   var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss");
   $.ajax({
       url: 'add_events.php',
       data: 'start='+ start +'&end='+ end,
       type: "POST",
       success: function(json) {
       alert('Added Successfully');
       }
   });

Не видя серверный код, я не могу дать совет, но, скорее всего, вы захотите сделать что-то, чтобы вы теперь читали поле «title» из $ _SESSION, а не из $ _POST при сборе данных для записи в базу данных. .

0 голосов
/ 06 марта 2019

То есть вы используете приглашение в качестве подтверждения?Вы должны использовать window.confirm('message')

var title = '<?php echo "{$_SESSION['email']}"; ?>';
var check = window.prompt('Confirm Email: ' + title);
if (check) {

}

, но если это часть сеанса, почему вы не просто читаете его из сеанса на сервере?

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