Jump to content

Recommended Posts

Подскажите, как сделать проверку правильности введенного email

 

по умолчанию на всех формах скрипт проверяет правильность введенной почты. где именно вам нужно проверять

Link to post
Share on other sites
  • Replies 78
  • Created
  • Last Reply

Top Posters In This Topic

по умолчанию на всех формах скрипт проверяет правильность введенной почты. где именно вам нужно проверять

// КУПИТЬ В 1 КЛИК
        $(function() {

                $(".various").fancybox({
                        helpers : {
                                overlay : {
                                        locked : false
                                }
                        },
                        closeBtn: false,
                        fitToView: false,
                        autoSize: true,
                        minHeight: "0",
                        minWidth: "350",
                        scrolling: false,
                        closeClick      : false,
                        openEffect      : 'fade',
                        closeEffect     : 'none'
                });

                $('.oneclickbuy').click( function() {

                        if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
variant = $('.variants').find('select').val();
                      
                        if( !$('.onename').val() || !$('.onephone').val() || !$('.oneaddress').val()) {
                                alert("Заполните обязательные поля!");
                                return false;
                        }

                        $.ajax({
                                type: "post",
                                url: "/ajax/oneclick.php",
                                data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').val() , email: $('.onemail').val() , address: $('.oneaddress').val() , comment: $('.onecomment').val()},
                                dataType: 'json'
                        });
                      
                        $('.oneclick').hide(200);
                        $("#oneclick").html("<div class='title'>Спасибо за заказ!</div><p>В ближайшее время с вами свяжется наш менеджер!</p><button type='submit' class='button' onclick='$.fancybox.close();$(\".oneclick\").hide();return false;'>Закрыть!</button>");
                      
                        return false;
                      
                });

        });
// END КУПИТЬ В 1 КЛИК
Link to post
Share on other sites
  • 5 months later...

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

Link to post
Share on other sites

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

 

проблема в конфликте jquery. попробуйте заменить в файле скриптов $ на jquery и смотрите как реализованы скриты в шаблоне самом

Link to post
Share on other sites
  • 1 month later...

Выводится ошибка в консоли: 

 

Uncaught ReferenceError: variant is not defined 

 

Как исправить? Не подскажите? 

 

Пробовал добавлять var, но тогда заказ оформляется без товара. 

Link to post
Share on other sites

Если вопрос про код из #52, вероятно, ошибка в фрагменте

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

В нем сходу видны несколько недостатков:
1. в одних местах используется $('.variants').find('select[name=variant]'), в других variant = $('.variants').find('select'), в надо бы единообразно.
2. вместо двух последовательных if логичнее было бы использовать if ... elseif

3. не отрабатывается ситуация, когда переменная variant не будет определена (скорее всего, это и есть Ваш случай).

И главное, надо проверять указанные элементы на предмет соответствия верстке Вашего шаблона, при этом еще много чего выплыть может...

 

И само решение несколько корявое, ищет вариант на странице ГЛОБАЛЬНО. Например, это гарантированно не будет работать на странице списка товаров...

Link to post
Share on other sites

Если вопрос про код из #52, вероятно, ошибка в фрагменте

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

В нем сходу видны несколько недостатков:

1. в одних местах используется $('.variants').find('select[name=variant]'), в других variant = $('.variants').find('select'), в надо бы единообразно.

2. вместо двух последовательных if логичнее было бы использовать if ... elseif

3. не отрабатывается ситуация, когда переменная variant не будет определена (скорее всего, это и есть Ваш случай).

 

И главное, надо проверять указанные элементы на предмет соответствия верстке Вашего шаблона, при этом еще много чего выплыть может...

 

И само решение несколько корявое, ищет вариант на странице ГЛОБАЛЬНО. Например, это гарантированно не будет работать на странице списка товаров...

Большое спасибо за подсказку. Всё получилось. 

Link to post
Share on other sites
  • 4 weeks later...

Подскажите как сделать запись

if($('.variants').find('input[name=variant]:checked').size()>0) 
 variant = $('.variants input[name=variant]:checked').val();
if($('.variants').find('select[name=variant]').size()>0)
 variant = $('.variants').find('select').val();

 

если переменная variant не определена (у варианта нет имени )

кусок кода product.tpl:

<form action="cart" class="variations_form cart variants">

	<table class="variations" style='{if $product->variants|count==1  && !$product->variant->name}display:none;{/if}'>
		<tbody>
							<tr>
					<td class="value">
			<!-- Выбор варианта товара -->
			{* Не показывать выбор варианта, если он один и без названия *}
			<select name="variant">
				{foreach $product->variants as $v}
				
                {if $v|count==1  && !$v->name}
                {else}
                <option value="{$v->id}" {if $v->compare_price > 0}compare_price="{$v->compare_price|convert}"{/if}  {if $v->stock}data-stock="{$v->stock}"{/if} data-price="{$v->price|convert}">
				{$v->name}
				</option>
				{/if}
                {/foreach}
			</select>
			<!-- Выбор варианта товара (The End) -->
     
                             </td>
				</tr>
	        		</tbody>
	</table>


	<div class="single_variation_wrap" style="">
		
		<div class="variations_button">
			<div class="added">
			<input type="button" value="-" class="min">
			<input type="number" step="1" name="amount" value="1" title="Количество" class="quantity">
			<input type="button" value="+" class="pl"></div>
			<button type="submit" class="button">В корзину</button>
		</div>
	
	
	
	 <a href="#oneclick" class="button various oneclick">Купить в 1 клик</a>
	
	
	
	</div>
 <div class="stock">     
<link itemprop="availability" href="http://schema.org/InStock" />{if $v->stock}В наличии{else}Под заказ{/if}     
</div> 	
</form>

<script>
{literal}
jQuery(function() {

	// Выбор вариантов
	jQuery('select[name=variant]').change(function() {
		price = jQuery(this).find('option:selected').attr('data-price');
		compare_price = '';
		if(typeof jQuery(this).find('option:selected').attr('compare_price') == 'string')
			compare_price = jQuery(this).find('option:selected').attr('compare_price');
		stock = '';
		if(typeof jQuery(this).find('option:selected').attr('data-stock') == 'string')
			stock = jQuery(this).find('option:selected').attr('data-stock');
		jQuery(this).find('option:selected').attr('compare_price');
		jQuery(this).closest('.resume').find('span.price').html(price);
		jQuery(this).closest('.resume').find('span.old').html(compare_price);
		jQuery(this).closest('form').find('span.stock').html(stock);
		return false;
	});
		
});
</script>
{/literal} 
Edited by snake
Link to post
Share on other sites
  • 2 weeks later...

Модуль хороший, немного переделал под свои нужды и запилил под нестандартный шаблон! Я использую этот модуль для товаров "под заказ" и "нет на складе", как форму предварительного заказа. В заказ отправляю только имя, телефон, e-mail и комментарий с уже вставленным названием продукта, еще отправляю подтверждение заказа на e-mail клиента.

Link to post
Share on other sites

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

Link to post
Share on other sites

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

Код шаблона покажи, куда вставлял скрипт! Так ничего непонятно!

Link to post
Share on other sites

Подскажите, если использовать его с этим шаблоном http://media.simpla-template.org.ua/mobile/ то при нажатии, переходит на главную старницу с сылкой http://localhost/#oneclick.Подключал fansybox 

Тут уже встречался такой вопрос, куда копать подскажите. 

 

конфликт видимо jquery или не правильно подключили фансибокс

Link to post
Share on other sites

конфликт видимо jquery или не правильно подключили фансибокс

Фансибокс подключил как и в дефолтном шаблоне. Может быть конфликт, а как выяснить? Как это можно устранить? 

Link to post
Share on other sites
  • 2 months later...

Господа, доработку поставил, окно появляется, заказ отправляется но приходит в таком виде

 

Как исправить? Шаблон нестандартный trizzy

 

 

Проблему решил установкой решения отсюда http://templazilla.ru/moduli-i-dopolnenija-simpla-cms/2014/08/20/kupit-v-1-klik.html

 

Заработало, но в заказ приходили товары из сопутствующих, помог совет Kors, за что ему большое спасибо!

 

Пробуйте после

if($('.variants').find('input[name=variant]:checked').size()>0)
variant = $('.variants input[name=variant]:checked').val();

добавить

if($('.variants').find('select[name=variant]').size()>0)
variant = $('.variants').find('select').val();

Если шаблон не стандартный, то, возможно, придется что-то еще делать...

Edited by snagovskiy
Link to post
Share on other sites

Здравствуйте. На нестандартном шаблоне (trizzy) кнопка появляется, но клик на неё выбрасывает на главную с урлом /#oneclick. Пробовал и другое решение "покупка в 1 клик" через ajax - то же самое. Подскажите, в чём проблема и как её обойти?

 

У меня такой же шаблон и была такая же проблема, решилась подключением fancybox в index.tpl

 

<link href="design/{$settings->theme}/scripts/fancybox/jquery.fancybox.css" rel="stylesheet">
<script src="design/{$settings->theme}/scripts/fancybox/jquery.fancybox.pack.js"></script>
Link to post
Share on other sites
  • 7 months later...

Шаблон UNIVERSAL simpla 2.3.7 не срабатывает кнопка в форме заказа «Отправить».
срабатывает только если нажать на кнопку шаблона «в корзину» а потом «купить в 1 клик». и в форме все норм
Как можно подправить, чтобы она была самостоятельной)?

Edited by sanyok72
Link to post
Share on other sites
  • 3 weeks later...
  • 4 weeks later...

Подскажите пожалуйста, приходит заказ, но разделитель тысяч в сумме не работает, после отправки заказа.

 

В настройках в админке стоит пробел. Через корзину, заказ приходит, разделитель есть, а через форму в 1 клик приходит без пробела.

 

Link to post
Share on other sites
  • 10 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...