预订过程中的电子邮件Id捕获

Email Id capture in reservation process

本文关键字:Id 捕获 电子邮件 过程中      更新时间:2023-09-26

我有一个html页面,其中包含注册表单字段,如电子邮件地址等。注册过程有五个步骤。在第一步中,表单有一个电子邮件地址字段。

我想要的是,如果用户输入了一个电子邮件地址,并出于某种原因离开了表单,在一段时间后,比如15分钟后,我想捕获该电子邮件地址并将其发送到服务器。因为他们中的一些人中途离开了预订流程。我想捕捉他们,即使他们没有完成预订过程。我只是想用定时器之类的东西来捕捉那个电子邮件地址。我使用了onblur()事件并编写了一些代码。但我需要一些帮助来解决这个问题。

提前感谢,

您想要一个返回电子邮件地址的ajax调用。这并不完美,但可以让你大致了解你需要做什么。

// When the document is loaded do something.
$(document).ready(function(){
    // Do something after 5 minutes (300000 seconds)
    setTimeout('captureEmail',300000)
});
function captureEmail()
{
  // Serialize the form data and send to captureEmail.php
  $('#formId').ajax({
    url: "captureEmail.php",
    data: this.serialize(),
    success: function(){
      $(this).addClass("done");
    }
  });    
}

实际上有几十种方法可以做到这一点。

如果他们从向导的第一步进入第二步,您可以将电子邮件地址捕获到服务器中的一个表中。我会按照一个表格的行做一些事情,这个表格有电子邮件地址、注册的唯一id和时间戳,然后你可以有一个服务来轮询表格,并将其与完成的注册表格进行比较,然后将这些电子邮件存储在某个地方。

另一个选项是javascript函数,该函数在页面退出或浏览器卸载时会触发一个更新方法,该方法会插入到表中。

或者,您可以使用jquery/ajax,这样当他们离开电子邮件字段时,它会验证这是一种有效的电子邮件格式,如果是这样,就会启动一种更新方法或三者的组合。

首先,你需要决定在什么时候捕获电子邮件地址,然后看看对你开放的机制。即当从一个步骤前进到下一个步骤时的支柱。或者在页面上触发事件时使用ajax/jquery。

我会使用"thenetim"答案,但会更改

--setTimeout应该启动电子邮件文本框的onkeydown——因为在进行ajax调用之前,他会知道有些数据已经存在。。

--最好在发送数据之前使用Regex检查电子邮件的有效性

无论数据是否存在,每5分钟调用一次ajax,也不检查输入的数据是否是完整的电子邮件id,这不仅会向服务器发送大量请求,而且最终可能会存储ksanads@等垃圾值!!

不过,一旦在服务器中获得id,就可以检查id的有效性,但最好从客户端获取有效数据,而不是用可能无效的数据重载服务器。。