将提示设置为只读

时间:2019-03-06 15:17:25

标签: javascript php fullcalendar

我正在设置一个与提示输入相等的变量,然后将其传递并用于显示在我的页面上。但是,我不认为提示是我需要使用的,但我不知道如何去做。基本上,一旦它提示他们,他们的电子邮件已经在提示框中,这就是我想要的,但是我不希望他们能够更改该字段,以避免输入与会话中设置的电子邮件不同的电子邮件。有什么建议吗?我的代码在下面。

    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 :(得分:0)

如果您不希望用户修改标题,则不要问他们。似乎您没有将事件直接添加到fullCalendar中,而是将其发送到服务器(大概在此之后,您会导致fullCalendar从服务器重新获取事件,我认为,尽管未显示)。

因此,如果标题必须始终是会话中存储的电子邮件,则当add_events.php运行时,只需从该会话中选择电子邮件,然后将事件保存到数据库时将其用作标题。您不必费心在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');
       }
   });

我看不到具体的服务器端代码,但是您可能想做些什么,以便您现在收集数据并写入数据库时​​从$ _SESSION而不是$ _POST读取“ title”字段

答案 1 :(得分:-1)

因此,您使用提示作为确认吗?您应该使用window.confirm('message')

slim

但是如果它是会话的一部分,为什么不仅仅从服务器上的会话中读取它呢?