Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не работает предупреждение в опциях


Recommended Posts

Здравствуйте. Сделал модальное оформление заказа. Если строки не заполнены то появляется ошибка.  А вот опции не работают. Если сделать их обязательными все равно пропускает заказ на оформление.    Если вывести опцию datatime именно она работает.

 

Файл вывода в шаблон :  

 

 <div id="zapis">

		     <?php foreach ($opvals as $opval) { ?>
			
                    <?php if ($opval['type'] == 'select') { ?>
					<div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
					<label class="control-label2"><?php echo $opval['name']; ?></label>
						<?php if($opval['top']) { ?><?php } ?>
                            <label class="control-label"  for="input-option<?php echo $opval['product_op_val_id']; ?>"><?php echo $opval['name']; ?></label>
                            <select  name="op[<?php echo $opval['product_op_val_id']; ?>]" id="input-option<?php echo $opval['product_op_val_id']; ?>" class="form-control2">
                                <option value=""><?php echo $text_select; ?></option>
                                <?php foreach ($opval['value'] as $op_value) { ?>
                                <option value="<?php echo $op_value['option_value_id']; ?>"><?php echo $op_value['name']; ?></option>
                                <?php } ?>
                            </select>
                        </div>
						
              				   <?php } ?>
                    
                    <?php if ($opval['type'] == 'radio') { ?>
                        <div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
                            <label class="control-label2 "><?php echo $opval['name']; ?></label>
                            <div id="input-option<?php echo $opval['product_op_val_id']; ?>">
                                <?php foreach ($opval['value'] as $op_value) { ?>
                                <div class="radio">
                                    <label>
                                        <input type="radio" name="op[<?php echo $opval['product_op_val_id']; ?>]" value="<?php echo $op_value['option_value_id']; ?>" />
                                        <?php if ($op_value['image']) { ?>
                                            <img src="<?php echo $op_value['image']; ?>" alt="<?php echo $op_value['name']; ?>" class="img-thumbnail" /> 
                                        <?php } ?>                    
                                        <?php echo $op_value['name']; ?>
                                    </label>
                                </div>
                                <?php } ?>
                            </div>
                        </div>
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'checkbox') { ?>
                        <div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
                            <label class="control-label2"><?php echo $opval['name']; ?></label>
                            <div id="input-option<?php echo $opval['product_op_val_id']; ?>">
                                <?php foreach ($opval['value'] as $op_value) { ?>
                                    <div class="checkbox">
                                        <label>
                                            <input type="checkbox" name="op[<?php echo $opval['product_op_val_id']; ?>][]" value="<?php echo $op_value['option_value_id']; ?>" />
                                            <?php if ($op_value['image']) { ?>
                                            <img src="<?php echo $op_value['image']; ?>" alt="<?php echo $op_value['name']; ?>" class="img-thumbnail" /> 
                                            <?php } ?>
                                            <?php echo $op_value['name']; ?>
                                        </label>
                                    </div>
                                <?php } ?>
                            </div>
                        </div>
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'text') { ?>
                        <?php if(($opval['ogr'] > 0) && ($opval['mas'])) { ?>
                            <input type="hidden" name="q" value="1" data-qq="<?php echo $opval['ogr']; ?>" />
                        <?php } ?> 
                        <div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
                            <label class="control-label2" for="input-option<?php echo $opval['product_op_val_id']; ?>"><?php echo $opval['name']; ?></label>
                            <input type="text" name="op[<?php echo $opval['product_op_val_id']; ?>]" value="" placeholder="<?php echo $opval['text']; ?>" id="input-option<?php echo $opval['product_op_val_id']; ?>" class="form-control2" <?php if($opval['top']) { ?>data-validate<?php } ?> />
                        </div>
                        <?php if($opval['ogr'] > 0) { ?><?php } ?> 
                        <?php if($opval['mas']) { ?>
                            <div class="form-group hh-repeatable-field js-repeatable-field__prayer-names-data">
                                <a href="javascript:void(0)" class="hh-repeatable-field__add-button hh-repeatable-field__add-button-left-margin js-repeater__add-button"><i class="fa fa-plus"></i> Добавить имя</a>
                            </div>
                        <?php } ?>    
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'textarea') { ?>
                        <div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
                            <label class="control-label2"   for="input-option<?php echo $opval['product_op_val_id']; ?>"><?php echo $opval['name']; ?></label>
                            <textarea name="op[<?php echo $opval['product_op_val_id']; ?>]" rows="5" placeholder="<?php echo $opval['text']; ?>" id="input-option<?php echo $opval['product_op_val_id']; ?>" class="form-control2"></textarea>
                        </div>
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'file') { ?>
					
					
					
					
					
                
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'date') { ?>
                        <div class="form-group <?php if($opval['top']) { ?>required<?php } ?>">
                            <label class="control-label"   for="input-option<?php echo $opval['product_op_val_id']; ?>"><?php echo $opval['name']; ?></label>
                            <div class="input-group date">
                                <input type="text" name="op[<?php echo $opval['product_op_val_id']; ?>]" value="" data-date-format="YYYY-MM-DD" id="input-option<?php echo $opval['product_op_val_id']; ?>" class="form-control2" <?php if($opval['top']) { ?>data-validate<?php } ?> />
                                <span class="input-group-btn">
                                    <button class="btn btn-default" type="button"><i class="fa fa-calendar"></i></button>
                                </span>
                            </div>
                        </div>
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'datetime') { ?>
                
                    <?php } ?>
                    
                    <?php if ($opval['type'] == 'time') { ?>
                
                    <?php } ?>
                <?php } ?>
                <input type="hidden" name="quantity" value="1" />
                <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />
                <div id="collapse-payment-method"></div>
                
                <div class="buttons">
                    <div class="pull-center" style="text-align: center;">
                        <button type="button" id="button-cart" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-hoka btn-lg">Отправить</button>
                        <button type="button" id="button-wishlist" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-hoka btn-lg">В избранное</button>
                        <input type="hidden" name="s" id="sys" value="0" />
                    </div>
                </div>
            </div>

 

 

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

 

$('#button-cart').on('click', function() {
    $('.alert-success, .alert-danger').remove();
    $('#sys').val('1');
    var field = [];
    
			$("#product").find("input[data-validate]").each(function() {
				field.push('input[data-validate]');
                var value = $(this).val();
         
                for(var i=0;i<field.length;i++) {
                    if( !value ) {
                        $('#sys').val('0');
                        
                        $(this).addClass('some-form__line-required');
                        setTimeout(function() {
                            $(this).removeClass('some-form__line-required')
                        }.bind(this),2000);
                    }
                }
            ;    
		   });
if($("input").is('[name=\'q\']')) {		   
q = Number($('#product input[name=\'q\']').val());
} else {
q = 1;
}
g = q - 1;
t = q;

if(g != 0) {
   for (i = 1; i < g; i++) {
       zxc = $('#product input[name=\'op[d' + i + ']\']').val();
       if(zxc == '') {
           $('#product input[name=\'op[d' + i + ']\']').remove();
           t = t - 1;
        }
   }
}
eklmn = $('#sys').val();		   
if(eklmn != 0) {
	$.ajax({
		url: 'index.php?route=checkout/cart/add&q=' + t,
		type: 'post',
		data: $('#product input[type=\'text\'], #product input[type=\'hidden\'], #product input[type=\'radio\']:checked, #product input[type=\'checkbox\']:checked, #product select, #product textarea'),
		dataType: 'json',
		beforeSend: function() {
			$('#button-cart').button('loading');
		},
		complete: function() {
			$('#button-cart').button('reset');
		},
		success: function(json) {
			$('.alert, .text-danger').remove();
			$('.form-group').removeClass('has-error');

			if (json['error']) {
				if (json['error']['option']) {
					for (i in json['error']['option']) {
						var element = $('#input-option' + i.replace('_', '-'));

						if (element.parent().hasClass('input-group')) {
							element.parent().after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
						} else {
							element.after('<div class="text-danger">' + json['error']['option'][i] + '</div>');
						}
					}
				}

				if (json['error']['recurring']) {
					$('select[name=\'recurring_id\']').after('<div class="text-danger">' + json['error']['recurring'] + '</div>');
				}
				
				if (json['error']['product']) {
					$('.breadcrumb').after('<div class="text-danger">' + json['error']['product'] + '</div>');
				}
				
				
				
				 for (i in json['error']) {
          var element = $('#input-payment-' + i.replace('_', '-'));

          if ($(element).parent().hasClass('input-group')) {
            $(element).parent().after('<div class="text-danger">' + json['error'][i] + '</div>');
          } else {
            $(element).after('<div class="text-danger">' + json['error'][i] + '</div>');
          }
        }

				// Highlight any found errors
				$('.text-danger').parent().addClass('has-error');
			}

			if (json['success']) {
				$('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>');

				$('#cart > ul').load('index.php?route=common/cart/info ul li');
				$.ajax({
                    url: 'index.php?route=product/form/payment',
                    dataType: 'html',
                    success: function(html) {
                        $('#zapis').html(html);
                        $('.user').css('display','block');
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                    }
                });
				
			}
		},
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
	});
	} else {
	    $('#collapse-payment-method').html('<div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> Есть не заполненые поля ! </div>');
	}
});

 

 

Помогите ребята а то замучился уже. 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.