Перейти к содержанию
newjey

Конфликт скрипта подписки и стандартной галереи(

Рекомендуемые сообщения

Добрый день.

Столкнулся сегодня с проблемой. Опубликовал через HTML модуль такую форму подписки:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div id="wrapper">		<div class="sub">  <div class="box1">    <div><h3>Подписка на новости:</h3>
<div id="maincontent" class="clearfix">				
<div id="completeform">				<span id="error"></span>								
<form id="inviteform" name="inviteform" method="post" action="#">
<input type="name" name="name" id="name" placeholder="Ваше имя">					
<input type="email" name="email" id="email" placeholder="Введите Ваш E-mail" autocomplete="off" autocorrect="off" autocapitalize="off">										
<button name="sendbtn" id="sendbtn" type="submit" value="Send">Подписаться</button></form></div>
		</div>
</div>информационный блок </div> </div>
<!-- javascript код здесь -->
	<script type="text/javascript">
		function isEmail(email) {
			// регулярное выражение для проверки введенного адреса
  			var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  			return regex.test(email);
		}
		
		function completeInviteForm() {
			setTimeout(function() { $("#completeform").fadeOut(400, function(){
				//create post data
        var postData = {
            "name": $("#name").val(),
            "email": $("#email").val()
            
        };
				$.ajax({ 
	             type: 'POST', 
                 url: 'catalog/view/theme/default/template/common/sub.php',  
                 data: postData,  
                 success: function(){  
                 $('#completeform').before('<span class="msg">Отлично! Вы добавлены в список рассылки.</span>');}
                });
			});
			}, 1100);
		}
		
		var erdiv    = $("#error");
		var btnwrap  = $("#btnwrap");
		
		
		$(document).ready(function(){
			$("#sendbtn").live("click", function(e){
				// После нажатия на кнопку отменяем стандартное поведение браузера
				// и создаем переменную
				e.preventDefault();
				var emailval = $("#email").val();
				
				
				if(!isEmail(emailval)) {
					erdiv.html("Вы не правильно ввели адрес электронной почты");
					erdiv.css("display", "block");
				}
				
				if(isEmail(emailval)) {
					erdiv.css("color", "#719dc8");
					erdiv.html("обработка...");
					btnwrap.html('<img src="img/loader.gif" alt="loading">');
					(completeInviteForm(), 900);
				}
			});
		});
	</script>

в карточках товара. После этого галерея перестаёт работать, открывается просто картинка не в модальном окне, а как отдельная страница.

 

Подскажите как можно это подправить?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

уберите

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

 

не факт что все будет работать, но так уже правильнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу пробовал без него, галерея не работает всё равно+ перестаёт работать подписка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тогда читайте консоль браузера

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) Выбросить и все переписать

2) Научиться писать нормально, а точнее саму размету, у Вас все куче 

3) Научиться не только копипастить но еще и читать код  

<div id="wrapper">
	<form id="subscriber">
		<input type="name" name="name" id="name" placeholder="Ваше имя">					
		<input type="email" name="email" id="email" placeholder="Введите Ваш E-mail" autocomplete="off" autocorrect="off" autocapitalize="off">		
		<button type="button" onClick="$('#subscriber').submit(); return false;">Подписаться</button>
	</form>
</div>	

<script>
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

$('#subscriber').submit(function () {
	var data = $(this);

	if (!regex.test(data['email'])) {
		erdiv.html("Вы не правильно ввели адрес электронной почты");
		erdiv.css("display", "block");
		return;
	} else {
		erdiv.css("color", "#719dc8");
		erdiv.html("обработка...");
		btnwrap.html('<img src="img/loader.gif" alt="loading">');
	}

	$.ajax({ 
	    type: 'POST', 
        url: 'catalog/view/theme/default/template/common/sub.php',  
        data: data.serialize(),  
        success: function(){  
        	$('#completeform').before('<span class="msg">Отлично! Вы добавлены в список рассылки.</span>');}
     	}
	});

});
</script>

Вот набросал на коленке, подгоните под свой скрипт и логику 

Изменено пользователем ArtenPitov
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, буду разбираться)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вообщем ситуация такая, совместимости добился, но вот скрипт подписки без <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> этой строки работать не хочет( А с этой строкой не работает галерея. Как быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.