Показать сообщение отдельно
  #1 (permalink)  
Старый 31.12.2013, 10:58
Интересующийся
Отправить личное сообщение для SpiritAbsolute Посмотреть профиль Найти все сообщения от SpiritAbsolute
 
Регистрация: 11.12.2013
Сообщений: 19

Cannot read property 'length' of undefined
Uncaught TypeError: Cannot read property 'length' of undefined
jquery-1.9.1.js
На вот эту строчку библиотеки ругается. length = obj.length,
// args is for internal usage only
       each: function( obj, callback, args ) {
	var value,
		i = 0,
		length = obj.length,
		isArray = isArraylike( obj );



$('#reports').validate({
        errorLabelContainer: 'div.errors',
        errorElement: 'div',
        rules: {
            name: {
                required: true
            },
            text: {
                required: true,
				maxlength: 8000
            },
            keystring: {
                required: true
            }
        },
        messages: {
            name: {
                required: "Вы не ввели имя"
            },
            text: {
                required: "Вы нe ввели вопрос",
				maxlength: "Максимальная длина сообщения 8000 символов"
            },
            keystring: {
                required: "Вы не ввели код, указанный на картинке"
            }
        },
        submitHandler: function(form) {
            var opt = {
                dataType: 'json',
                url: 'core/add_comment_goods.php',
                success: function(data) {
                    if (data.success) {
                        $('body').myAlert({
                            title: 'Отзыв для товара',
                            dialogWidth: 330,
                            dialogHeight: 170,
                            winWidth: 290,
                            timeOut: 2500,
                            text: 'Спасибо за отзыв.'
                        });
                        $('#reports').clearForm();
                        $("#captcha").trigger('click');
                    } else {
                        $('.errors').html('');
                        $.each(data.errors, function(k, i) {
                            $('div.errors').append('<span class="error">' + i + '</span></br>');
                        })
                        $('div.errors').show();
                    }
                }
            };
            $(form).ajaxSubmit(opt);
        }
    });


Вот такой вот код обрабатывающий форму.
Вот такой вот код шаблона.
<div class="es_goods_bottom_reviews" id="tab2">
			{if $aData.comments|@count neq 0}
				{foreach from=$aData.comments item=n key=k name=comments}
					<h4>{$n.name_user}&nbsp;{$n.family_user}</h4>
					<div class="es_goods_bottom_diskr">
						{$n.text_comment}
					</div>
				{/foreach}
				<div class="es_border2"></div>
			{/if}
			<h3>Написать отзыв</h3>
			<table>
			<form method="post" action="#" id="reports">
				<tr>
					<td><span>*</span>Имя</td>
					<td><input type="text" id="name"></td>
				</tr>
				<tr>
					<td>E-mail</td>
					<td><input type="text" id="email"></td>
				</tr>
				<tr>
					<td><span>*</span>Текст</td>
					<td><textarea id="text"></textarea></td>
				</tr>
			</form>
			</table>
			<div class="es_border2"></div>
			<div class="es_row">
				<div class="input">
					<div id="mycaptcha">
						<img title="Нажмите сюда для генерации нового кода" alt="Нажмите сюда для генерации нового кода" src="./kcaptcha/index.php?PHPSESSID=grcehjg6kdukonnu3daet4gmt1" onclick="new_captcha('captcha', 'PHPSESSID', 'grcehjg6kdukonnu3daet4gmt1');" id="captcha" >
						<br>
						<div class="right">
							<label for="keystring"><span class="required">*</span>Введите код</label>
							<input type="text" class="input-text" id="keystring" name="keystring" value="" />
						</div>
						<div class="left">
							Для обновления картинки<br/>
							нажмите на нее
						</div>						
					</div>						
				</div>
				<div class="clear"></div>
			</div>
			<div class="es_border2"></div>
			<div class="es_goods_bottom_reviews_bottom">
				<div class="es_row">
					<span class="required">*</span> — обязательные для заполнения поля
				</div>
				<div class="es_clear"></div>
				<a href="#" id="send" class="es_a_button es_a_button_active es_a_button_active_next" style="float:left">Отправить</a>
			</div>
		</div>

Последний раз редактировалось SpiritAbsolute, 31.12.2013 в 11:04.
Ответить с цитированием