Быстрый лёгкий скрипт по AJAX подписке:
Данный скрипт проверяет на заполнение поле email, так же проверяет правильность заполнения. Если пользователь заполнил всё верно, то div меняется на "Вы подписаны", "На почту выслано сообщение".
Обработчик
В обработчике представлена форма в <div></div>. Код добавления подписки в HTML формате срабатывает только при получении POST. Аякс происходит с перезагрузкой файла, в котором лежит данный код ("/include/subscription.php").
Прошу прощение за отсутствие комментариев.
Данный скрипт проверяет на заполнение поле email, так же проверяет правильность заполнения. Если пользователь заполнил всё верно, то div меняется на "Вы подписаны", "На почту выслано сообщение".
$('input.email_send').click(function(e){ e.preventDefault(); var email = $('#email_text').val(); var adr_pattern=/[0-9a-z_]+@[0-9a-z_]+\.[a-z]{2,5}/i; if(!adr_pattern.test(email)){ $('#email_error').css('display','block'); return false; }else{ $.ajax({ type:"POST", url:"/", dat a:{"ajaxsubscriptionaddemail":email}, dataType:"html", success:function(msg){ $('#sub_id,span.email').remove(); $('div.subscription h5').text('Вы подписаны.').after('<p>На почту выслано письмо для активации</p>'); } }); } }); |
Обработчик
В обработчике представлена форма в <div></div>. Код добавления подписки в HTML формате срабатывает только при получении POST. Аякс происходит с перезагрузкой файла, в котором лежит данный код ("/include/subscription.php").
<div class="subscription"> <h5>Подписка<span> на новости</span></h5> <span class="email">Укажите e-mail</span> <fo rm action="" method="post" id="sub_id"> <div class="email_bg"> <input id="email_text" type="text" name="" value="" /> </div> <span id="email_error" class="error">Неверный введен e-mail !</span> <input type="submit" name="" value="" class="email_send" /> </form> <?if($_POST["ajaxsubscriptionaddemail"]):?> <?CModule::IncludeModule("subscribe");?> <? $arFields = Array( "USER_ID" => "1", "FORMAT" => "html", "EMAIL" => $_POST["ajaxsubscriptionaddemail"], "ACTIVE" => "Y", "RUB_ID" => "1" ); $subscr = new CSubscription; //can add without authorization $ID = $subscr->Add($arFields); if($ID>0) CSubscription::Authorize($ID); else $strWarning .= "Error adding subscription: ".$subscr->LAST_ERROR."<br>"; ?> <?endif;?> </div> |