Модальное диалоговое окно не работает правильно при отправке - страница отправляется обратно на себя - PullRequest
0 голосов
/ 31 августа 2011

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

По существу, модальное поле слишком быстро исчезает.Я хочу замедлить это.Мне посоветовали удалить теги

</form><form> 

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

Вот мой код:

<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js">
</script>
<script src="http://recp.rm04.net//ui/library/formValidate.js" language="javascript">
    </script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/ui-
  lightness/jquery-ui.css" rel="stylesheet" type="text/css">

<STYLE TYPE="text/css">
     BODY, .BODY, TD
     {  color: ;
        font-size: ;
        font-family: ;
        font-weight: ;
        text-decoration: ;
        font-style: ;
     }
     </STYLE>
</head>
<body vlink="" alink="" link="" bgcolor="">
<!--  demo -->
<div class="demo">
<div id="dialog" title="Basic dialog">
<p>Email submitted successfully.  Thank you for signing up!</p>
</div>
</div>

<!-- End demo -->
<br>
<br>
<table border="0" cellspacing="0" cellpadding="5">
<form name="form" method="post" action="http://links.mkt41.net/servlet/UserSignUp?
f=755449&postMethod=HTML&m=0&j=MAS2">
<tr>
<td valign="top"><span style="color:#CC0000">*</span></td><td valign="top"
align="left">Email:</td>
<td><input type="hidden" name="EMAIL_REQUIRED" value="T"><input type="hidden" 
name="EMAIL_DATATYPE" value="email"><input type="text" name="EMAIL" value="" 
maxlength="4000"></td>
</tr>
</form>
<form>
<tr>
<td align="center" colspan="3">
<div id="opener">
<input type="button" name="submit" value="Submit" onClick="f_validateForm()"></div>
<script src="js/modal_e-confirm.js" language="javascript"></script>
</td>
</tr>
</form>
</table>
<p>
</p>
<script>f_initializeForm();</script>
</body>
</html>

Вот jQuery, который мне помог от Rusty Jeans здесь, на SO.

$('form').submit(function (e) {
e.preventDefault();
$.post('http://links.net/servlet/UserSignUp?
f=755449&postMethod=HTML&m=0&j=MAS2&EMAIL_REQUIRED=T&EMAIL_DATATYPE=email', {
        EMAIL: $('input[name=EMAIL]').val()
    },
    function (data) {
        $( "#dialog" ).dialog( "open" );
    });
});

$( "#dialog" ).dialog({
  autoOpen: false,
  show: "fade",
  hide: "fade",
  open: function(event, ui) {
    var dlg = $(this);
    setTimeout(function(){
    dlg.dialog("close");
    },
    3000); 
  },
  modal: true,
  opacity: 1
});

1 Ответ

0 голосов
/ 18 октября 2011

После долгих исследований я обнаружил, что скрипт .php загружает страницу приветствия.Я не знаю PHP, но это действие влияло на поведение моего модального всплывающего окна.Когда функциональность страницы приветствия была удалена, модал работал как положено.

...