2

我目前正在使用 dotmailer 生成一个新表单(简单的文本框和提交按钮),它会自动将电子邮件地址添加到 dotmailer 通讯簿。

当有人提交电子邮件地址时 - 他们可以被带到网页。

<input type="hidden" name="ReturnURL" id="returnValueHidden" value="URL">

我一直在尝试找出一种方法来显示一个警告框,上面写着“已提交”,而不是将用户带到感谢页面。

解决方案?

document.getElementById('returnValueHidden').value = alert("Email successfully submitted.");

但所有这些都会显示一个警告框,然后重定向到以下 url(即使该值是否插入)。

http://dmtrk.net/undefined?result=success
404 The page you are looking for could not be found

无论如何我可以调整它,以便它提交电子邮件但不重定向。

完整代码:

<script language="javascript">
<!--
function validate_signup(frm) {
var emailAddress = frm.Email.value;
var errorString = '';
if (emailAddress == '' || emailAddress.indexOf('@') == -1) {
errorString = 'Please enter your email address';
}


var els = frm.getElementsByTagName('input');
for (var i = 0; i < els.length; i++)
{
    if (els[i].className == 'text' || els[i].className == 'date' || els[i].className == 'number')
    {
        if (els[i].value == '')
            errorString = 'Please complete all required fields.';
    }
    else if (els[i].className == 'radio')
    {
        var toCheck = document.getElementsByName(els[i].name);
        var radioChecked = false;
        for (var j = 0; j < toCheck.length; j++)
        {
            if (toCheck[j].name == els[i].name && toCheck[j].checked)
                radioChecked = true;
        }
        if (!radioChecked)
            errorString = 'Please complete all required fields.';
    }
}

document.getElementById('returnValueHidden').value = alert("Email successfully submitted.");


var isError = false;
    if (errorString.length > 0)
        isError = true;

    if (isError)
        alert(errorString);
return !isError;
}


//-->
</script> 

HTML:

<form name="signup" id="signup" action="http://dmtrk.net/signup.ashx" method="post" onsubmit="return validate_signup(this)">
<input type="hidden" name="addressbookid" value="">
<input type="hidden" name="userid" value="41929">
<input type="hidden" name="ReturnURL" id="returnValueHidden" value="URL">

<input type="text" name="Email" onfocus="if(this.value=='Email')this.value='';" class="blueTextBox">

<input type="Submit" name="Submit" class="submit">
</form>
4

1 回答 1

1

要在不重新加载整个页面的情况下发送信息,您需要使用 AJAX。使用现有的 javascript 库是最简单的,例如 jQuery。

查看这些页面:

于 2013-08-21T21:30:01.217 回答