Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   unrecognized expression: label (https://javascript.ru/forum/jquery/66308-unrecognized-expression-label.html)

DDim1000 07.12.2016 18:39

unrecognized expression: label
 
Подскажите пожалуйста, из-за чего такая ошибка?:

ncaught Error: Syntax error, unrecognized expression: label[@for='reg_login'](…)

Coriolan161 07.12.2016 19:09

DDim1000,
На чем это пишется? Что это вообще?) Шаблонизация?

DDim1000 07.12.2016 19:32

Цитата:

Сообщение от Coriolan161 (Сообщение 437356)
DDim1000,
На чем это пишется? Что это вообще?) Шаблонизация?

Форма регистрации. Я пытаюсь сделать так, чтоб на кириллице нельзя было задавать логин
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Test jQuery Validation Form</title>
  <script type="text/javascript" src="jquery.min.js"></script>
  <script type="text/javascript" src="jquery.validate.js"></script>
  <script type="text/livescript" src="additional-methods.js"></script>

<script type="text/javascript">
$(document).ready(function(){
 	$.validator.addMethod('reg_login_check', function (value) {
     		var result = true;
		var iChars = "!@#$%^&*()+=-[]\\\';,./{}|:<>?"+"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+" ";
		for (var i = 0; i < value.length; i++) {
			if (iChars.indexOf(value.charAt(i)) != -1) {
				return false;
	          }
		}
		return result;
	}, '');

	$('#form_reg').validate({

                //Правила для проверки
		rules: {
                    "reg_login": {
			required: true,
			minlength: 5,
			maxlength: 15,
			reg_login_check: true,
			remote: {url: "reg/check_login.php", type:"post" }
		}
		},
    messages: {
      name: {
        required: "Введите имя пользователя",
        validName: "Символы !@#$%^&*()+=-[]\\\';,./{}|\":<>? и пробелы запрещены. Также нельзя использовать русские буквы",
        minlength: "Минимум 4 символа ",
        maxlength: "Максимум 25 символов ",
        remote: "Такое имя уже существует "
      }
    },
    errorPlacement: function(error, element) {
      var er = element.attr("name");
      error.appendTo( element.parent().find("label[@for='" + er + "']").find("span") );
    },
    success: function(label) {
      label.html("&nbsp;").addClass("checked");
    }
  });
});
 </script>
</head>

<body>

<form method="post" id="form_reg" action="/reg/handler_reg.php">
<p id="reg_message"></p>
<div id="block-form-registration">
<ul id="form-registration">

<li>
<label>Логин</label>
<span class="star">*</span>
<input type="text" name="reg_login" id="reg_login" />
</li>

<p align="right"><input type="submit" name="reg_submit" id="form_submit" value="Регистрация"/> </p>

</form>
</body>
</html>

Coriolan161 08.12.2016 00:02

DDim1000,
Тебе не кажется что дело в собаке перед for ?

DDim1000 08.12.2016 12:36

Цитата:

Сообщение от Coriolan161 (Сообщение 437376)
DDim1000,
Тебе не кажется что дело в собаке перед for ?

А о какой именно скобки речь?

$(document).ready(function(){

    $.validator.addMethod('reg_login_check', function (value) {

            var result = true;

        var iChars = "!@#$%^&*()+=-[]\\\';,./{}|:<>?"+"абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"+" ";

for (var i = 0; i < value.length; i++) { 

            if (iChars.indexOf(value.charAt(i)) != -1) {

                return false;

              }

       }

Coriolan161 08.12.2016 13:54

DDim1000,
Собака - @ (или `ухо`), а не скобка

DDim1000 08.12.2016 15:45

Цитата:

Сообщение от Coriolan161 (Сообщение 437376)
DDim1000,
Тебе не кажется что дело в собаке перед for ?

А откуда эта "собака" берется?

Coriolan161 08.12.2016 16:29

DDim1000,
Её добавляет интерпретатор в целях оптимизации. Это по новому стандарту так.

Капец, о чем ты спрашиваешь? Откуда я знаю где ты достал этот скрипт и какой рукожоп это делал?

Я тебе сказал удали собаку перед for. Это не допустимый символ
element.parent().find("label[@for='" + er + "']").find("span") );

DDim1000 08.12.2016 19:09

Цитата:

Сообщение от Coriolan161 (Сообщение 437460)
DDim1000,
Её добавляет интерпретатор в целях оптимизации. Это по новому стандарту так.

Капец, о чем ты спрашиваешь? Откуда я знаю где ты достал этот скрипт и какой рукожоп это делал?

Я тебе сказал удали собаку перед for. Это не допустимый символ
element.parent().find("label[@for='" + er + "']").find("span") );

Я взял скрип вот отсюда: http://shublog.ru/ajax/jquery/formy-...orm-na-jquery/

Дак, что мне делать? Где, что исправить?

Coriolan161 08.12.2016 19:39

DDim1000,
Читай ответы. Ты меня достал, балбесик


Часовой пояс GMT +3, время: 14:30.