我目前正在使用 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>