在注册表格上按下“提交”时执行的两个操作:需要具体结果

Two Actions Performed When Pressing Submit on Signup Form: Need Specific Results

本文关键字:两个 操作 结果 表格 注册表 注册 执行 提交      更新时间:2023-09-26

我想帮助添加代码,以实现以下目标:当我的"提交"按钮被点击时(在订阅者输入电子邮件地址和名称后的注册表单上),注册页面将重新加载(在同一选项卡中),我的网站主页url将取代表单页面。

目前,用我的代码,在点击"提交"后,订阅者数据会进入我的自动应答器(这很好),同时在点击"发送"后,一个确认页面会在一个新的选项卡中打开(我喜欢这个功能)。作为一个编码新手,我不知道我应该在这里发布多少注册表单代码,也不知道你需要html/javascript的哪些部分来了解当前的情况。我在stackoverflow上对这个主题进行了广泛的研究,没有找到适合我的确切情况的解决方案。我想我可能需要在这个应用程序中使用AJAX,但我需要学习它

感谢您的回复。我们非常感谢所有的帮助。

<script type="text/javascript">
function submitIt(form) {
var checkEmail = "@.";
var checkStr = form.rm_email.value;
var EmailValid = false;
var EmailAt = false;
var EmailPeriod = false;
var bad = "";
for (i = 0;  i < checkStr.length;  i++)
{
     ch = checkStr.charAt(i);
     for (j = 0;  j < checkEmail.length;  j++)
     {
        if (ch == checkEmail.charAt(j) && ch == "@")
        EmailAt = true;
        if (ch == checkEmail.charAt(j) && ch == ".")
           EmailPeriod = true;
          if (EmailAt && EmailPeriod)
                  break;
          if (j == checkEmail.length)
                  break;
        }
      if (EmailAt && EmailPeriod)
      {
            EmailValid = true;
            break;
        }
}
if (!EmailValid)
{
bad = bad + "'n    Please enter a valid Email Address.";
}
if (form.rm_first_name.value == "") {
bad = bad + "'n    First name is required";
}
if (bad != "") {alert("Please fill in the following fields:"+bad +"'n"); return (false);}
return (true);
}
</script>
<!--END OF JAVASCRIPT-->
<form name="signup" method="post" onSubmit="return submitIt(this);" action="https://go.reachmail.net/libraries/form_wizard/process_subscribe.asp" target="_blank" >
Email address<br />
<input type="text" id="rm_email" name="rm_email" />
<br />
First name<br />
<input type="text" id="rm_first_name" name="rm_first_name" />
<br />
<input type="hidden" name="my_type" value="3" />
<input type="hidden" name="form_id" value="15519">
<input type="hidden" name="list_name" value="XLIST_04F220B4A5C511E580D902BFAC100114">
<input type="hidden" name="list_id" value="900493">
<input type="hidden" name="el_list" value="email,first_name">
<input type="hidden" name="page_confirm" value="http://wc9007.wix.com/wade#!testoptinconf/n12yi">
<input type="hidden" name="list_fromname" value="">
<input type="hidden" name="list_fromemail" value="">
<input type="hidden" name="list_subject" value="">
<input type="hidden" name="opt_in_method" value="double" />
<input type="submit" name="Submit" value="Submit" >
</form>

您可以共享表单HTML代码吗?

你可以做的一件事是添加:

header("Location: <YOUR HOMEPAGE URL>"); 

到表单提交后运行的脚本的末尾(即表单html中action=处的脚本)。

感谢您发布HTML代码。我可以看到行动是:

https://go.reachmail.net/libraries/form_wizard/process_subscribe.asp

您似乎无权编辑process_subscribe.asp脚本。因此,您需要将表单数据POST到该URL,然后通过JavaScript重定向页面。

首先,更改你的行,行上写着:

<form name="signup" method="post" onSubmit="return submitIt(this);     action="https://go.reachmail.net/libraries/form_wizard/process_subscribe.asp"     target="_blank" >

<form name="signup" method="post" action="https://go.reachmail.net/libraries/form_wizard/process_subscribe.asp" target="_blank" >

然后,将此添加到页面顶部:

<script type="text/javascript">
var frm = $('#signup');
frm.submit(function (ev) {
    ev.preventDefault();
    $.ajax({
        type: frm.attr('method'),
        url: frm.attr('action'),
        data: frm.serialize(),
        success: function (data) {
            window.location.href = "<YOUR HOMEPAGE URL HERE>";
        }
    });
});
</script>