2013-05-02 4 views
1

Я хотел бы отобразить всплывающее окно, когда кто-то успешно подписался на один из моих сайтов. Там данные записываются во внешнюю базу данных (это работает правильно), поэтому я немного не уверен в том, какие части кода я могу изменить и которые нужно сохранить. Если кто-нибудь из вас сможет это посоветовать, это было бы здорово! Немного нуба, когда дело доходит до javascript!Всплывающее окно отправки формы

Заранее спасибо

<form name="signup" id="signup" action="http://creationonline.co.uk/signup.ashx" method="post" onsubmit="return validate_signup(this)"> 
<input type="hidden" name="addressbookid" value="1232079"> 
<!-- UserID - required field, do not remove --> 
<input type="hidden" name="userid" value="81918"> 
<!-- ReturnURL - when the user hits submit, they'll get sent here --> 
<input type="hidden" name="ReturnURL" value=""> 
<!-- Email - the user's email address --> 
<table border="0" cellpadding="0"> 
<tr> 
<td> Sign up 
</td><td><input name="Email" type="text" placeholder="Email Address" size="29"></td> 
<td align="left"><input type="Submit" name="Submit" class="su_btn" value=">"></td> 
</tr> 

</table> 
</form>` 


<!-- 
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.'; 
    } 
} 



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

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


//--> 

ответ

-1

Я не уверен, если я понимаю вас вопрос, но и может удалить все JavaScript из этого кода, и будет стило работать нормально.

Вся серая часть см. Здесь в stackoverflow, которую вы можете удалить.

Чтобы сделать popupm, вам нужно будет изменить свое действие, чтобы что-то вернуть, и вам понадобится использовать ajax для получения этого возврата и отправки всплывающего окна без перезагрузки страницы.

Я рекомендую использовать jquery ajax, это немного проще.

Смотреть больше: http://api.jquery.com/jQuery.ajax/

И всплывал вы можете использовать простую функцию предупреждения или использовать JQuery UI, чтобы получить больше функций красоты http://jqueryui.com/dialog/

+0

Я бы подумал Javascript был неотъемлемой частью? Это то, что проверяет, является ли введенный адрес электронной почты действительным и вызывает всплывающее окно, чтобы попросить пользователя ввести действительный адрес электронной почты, если это еще не сделано - по крайней мере, это было моим пониманием ?? То, что я делаю, это способ воссоздать всплывающее окно (вместо перехода на другую страницу) с успешным сообщением, когда пользователи успешно подписываются – Ria

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