2013-08-21 3 views
2

В настоящее время я использую dotmailer для создания новой формы (простого текстового поля и кнопки отправки), которая автоматически добавляет адрес электронной почты в адресную книгу dotmailer.Форма представления - подтверждение

Когда кто-то отправляет адрес электронной почты - их можно отправить на веб-страницу.

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

Я пытался разработать способ представить окно предупреждения о том, «представленный» и не принимать принимать пользователя на странице благодарности.

Решение?

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

Но все это, он отображает окно с предупреждением, а затем перенаправляет на следующий адрес (даже тогда, когда значение вставляется или нет).

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> 
+0

почему вы отметите этот JQuery? –

+0

Если вы хотите использовать jQuery, вы можете проверить [этот ответ] (http://stackoverflow.com/a/6960586/1572077) – miah

ответ

1

Для передачи информации, не делая полную перезагрузку страницы вам нужно использовать AJAX. Проще всего использовать существующую библиотеку javascript, например jQuery.

Проверьте эти страницы:

Смежные вопросы