Меню

Ошибка предполагается наличие объекта jscript что делать

userook

5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

1

Ошибка. Предполагается наличие ‘)’

23.08.2018, 10:28. Показов 8204. Ответов 11

Метки нет (Все метки)


Здравствуйте, IE выдает ошибку в

Javascript
1
2
3
4
5
6
jQuery(document).ready(function() {
  jQuery('a#sbutton').click(function() {
    jQuery('#searchgo').slideToggle(0,0o000001); // Тут ошибка
    return false;
  });
});

«Предполагается наличие ‘)’ »

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Qwerty_Wasd

dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

23.08.2018, 11:32

2

userook,
ошибка там только одна — неправильно переданные параметры в slideToggle. Видимо хотели сделать так

Javascript
1
jQuery('#searchgo').slideToggle(0.00000001);

А вот тут можно почитать, о том, что передается в метод — http://api.jquery.com/slidetoggle/



1



5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

23.08.2018, 16:01

 [ТС]

3

Цитата
Сообщение от Qwerty_Wasd
Посмотреть сообщение

jQuery(‘#searchgo’).slideToggle(0.00000001);

Тогда в хроме «Uncaught SyntaxError: Octal literals are not allowed in strict mode.»



0



Qwerty_Wasd

dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

23.08.2018, 18:12

4

userook, Такая ошибка выскочит, если использовать Ваш вариант. Так как в нем Вы пытаетесь передать восьмеричное число в качестве параметра, заменив один из нолей буквой «o» — смотрим скрин.
Вариант, что предложил я — рабочий. И чтобы Вам не пришлось больше фантазировать, идем в песочницу и смотрим как он работает. В консоли ни одной ошибки.

Песочница => https://codepen.io/qwerty_wasd/pen/bxVGXo

Javascript
1
2
3
4
5
6
jQuery(document).ready(function() {
  jQuery('a#sbutton').click(function() {
    jQuery('#searchgo').slideToggle(0.00000001);
    return false;
  });
});
HTML5
1
<div id="searchgo">aliqua occaecat non id incididunt ea non exercitation laborum incididunt fugiat do eu aliquip duis sit nulla adipisicing irure exercitation in enim officia aliqua ex ipsum ullamco adipisicing ipsum est consectetur ullamco tempor aute ut ullamco aliqua labore eiusmod voluptate dolor quis ex cupidatat aliqua ad Lorem nostrud sit commodo eu magna sunt nostrud aute irure in veniam laboris anim id in quis labore consectetur reprehenderit cillum proident aliqua commodo esse consequat in voluptate pariatur laborum pariatur veniam tempor enim fugiat deserunt sint non aliquip cupidatat cillum cillum ullamco minim amet sint non tempor amet sint magna dolor dolore eiusmod</div><a id="sbutton" href="#">СкрытьПоказать</a>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  outline: 0;
}
/*стили выше добавлены только для этого примера, в реальном проекте используйте normilize.cssreset.css*/
 
body {
  text-align: center;
}
#searchgo {
  border: 2px solid #000;
  margin-bottom: 50px;
}
a#sbutton {  
  text-decoration: none;
  border: 2px solid #000;
  padding: 5px;
  box-shadow: 3px 3px #000;
  cursor: pointer;
  color: #000;
}
a#sbutton:hover {
  box-shadow: 2px 2px #000;
}
a#sbutton:active {
  box-shadow: 1px 1px #000;
}

Миниатюры

Ошибка. Предполагается наличие ')'
 



1



5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

23.08.2018, 20:16

 [ТС]

5

У меня в начале скрипта ‘use strict’; стоит из-за этого и ошибка. А как переписать тогда slideToggle(0.00000001); я хз



0



Qwerty_Wasd

dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

23.08.2018, 21:57

6

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

Специально для Вас, сделал страницу и опробовал c EDGE до IE9 —

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <style>
    *,
    *:after,
    *:before {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0;
        margin: 0;
        outline: 0;
    }
    /*стили выше добавлены только для этого примера, в реальном проекте используйте normilize.cssreset.css*/
    
    body {
        text-align: center;
    }
    
    #searchgo {
        border: 2px solid #000;
        margin-bottom: 50px;
    }
    
    a#sbutton {
        text-decoration: none;
        border: 2px solid #000;
        padding: 5px;
        box-shadow: 3px 3px #000;
        cursor: pointer;
        color: #000;
    }
    
    a#sbutton:hover {
        box-shadow: 2px 2px #000;
    }
    
    a#sbutton:active {
        box-shadow: 1px 1px #000;
    }
    </style>
</head>
<body>
    <div id="searchgo">aliqua occaecat non id incididunt ea non exercitation laborum incididunt fugiat do eu aliquip duis sit nulla adipisicing irure exercitation in enim officia aliqua ex ipsum ullamco adipisicing ipsum est consectetur ullamco tempor aute ut ullamco aliqua labore eiusmod voluptate dolor quis ex cupidatat aliqua ad Lorem nostrud sit commodo eu magna sunt nostrud aute irure in veniam laboris anim id in quis labore consectetur reprehenderit cillum proident aliqua commodo esse consequat in voluptate pariatur laborum pariatur veniam tempor enim fugiat deserunt sint non aliquip cupidatat cillum cillum ullamco minim amet sint non tempor amet sint magna dolor dolore eiusmod</div><a id="sbutton" href="#">СкрытьПоказать</a>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
    <script>
    'use strict';
    jQuery(document).ready(function() {
        jQuery('a#sbutton').click(function() {
            jQuery('#searchgo').slideToggle(0.00000001);
            return false;
        });
    });
    </script>
</body>
</html>

Миниатюры

Ошибка. Предполагается наличие ')'
 



2



5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

24.08.2018, 01:10

 [ТС]

7

Да… у меня нету ошибки на «кодепен», но на своем сайте она появляется, а если я убираю ‘use strict’; — исчезает. Из этого я сделал вывод, что виноват — ‘use strict’;



0



dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

24.08.2018, 06:49

8

userook, он-то как раз не виноват Виноват какой-то методполеконструкция в коде, что запрещены к использованию в строгом режиме. Он как раз и нужен на этапе разработки, чтобы легче было дебажить. Посмотрите в свой код — возможно где-то есть то, что нельзя использовать в нем, прочитать можно здесь — https://developer.mozilla.org/… trict_mode , https://www.ecma-international… sec-10.1.1



1



5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

24.08.2018, 09:41

 [ТС]

9

Цитата
Сообщение от Qwerty_Wasd
Посмотреть сообщение

возможно где-то есть то, что нельзя использовать в нем

А как такое может быть «где-то» если он указывает конкретно на эту строку?



0



dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

24.08.2018, 10:07

10

userook, Я же наглядно продемонстрировал Вам что не в ней дело, скорее всего это цепочка ошибок, которая и затрагивает данную конструкцию. Если кроме указания ошибки в консоли Вас все устраивает, отключите строгий режим, если нет, то прошу Вас воспользоваться рекомендациями в пункте 4 Правил Форума и составить минимальный пример, демонстрирующим Вашу проблему. Чтобы мы на кофейной гуще не гадали почему у Вас ошибка, а у меня нет.



1



5 / 5 / 2

Регистрация: 24.08.2015

Сообщений: 302

25.08.2018, 09:21

 [ТС]

11

я просто изменил значение на slideToggle(200) и работает без ошибок, просто я не понимаю зачем там было указано slideToggle(0.00000001)



0



dev — investigator

Эксперт JSЭксперт HTML/CSS

2148 / 1493 / 651

Регистрация: 16.04.2016

Сообщений: 3,696

25.08.2018, 12:22

12

Лучший ответ Сообщение было отмечено userook как решение

Решение

userook,

Цитата
Сообщение от userook
Посмотреть сообщение

зачем там было указано

ну… я тоже не знаю. Это только у автора кода можно узнать, какую цель он преследовал. Впрочем это не важно. У Вас все получилось как Вы хотели?



0



Номер Описание
5 Invalid procedure call or argument Недопустимый вызов или аргумент процедуры
6 Overflow Переполнение
7 Out of memory Недостаточно памяти
9 Subscript out of range Индекс выходит за пределы допустимого диапазона
10 This array is fixed or temporarily locked Массив имеет фиксированную длину или временно блокирован
11 Division by zero Деление на 0
13 Type mismatch Несоответствие типа
14 Out of string space Недостаточно памяти для строки
17 Can’t perform requested operation Невозможно выполнить требуемую операцию
28 Out of stack space Недостаточно места в стеке
35 Sub or Function not defined Процедура Sub или Function не определена
48 Error in loading DLL Ошибка при загрузке DLL
51 Internal error Внутренняя ошибка
52 Bad file name or number Недопустимое имя или номер файла
53 File not found Файл не найден
54 Bad file mode Недопустимый режим файла
55 File already open Файл уже открыт
57 Device I/O error Ошибка устройства ввода-вывода
58 File already exists Файл уже существует
61 Disk full Диск переполнен
62 Input past end of file Ввод данных за пределами файла
67 Too many files Слишком много файлов
68 Device unavailable Нет доступа к устройству
70 Permission denied Разрешение отклонено
71 Disk not ready Диск не готов
74 Can’t rename with different drive Невозможно переименование с другим именем диска
75 Path/File access error Ошибка доступа к файлу/каталогу
76 Path not found Путь не найден
91 Object variable or With block variable not set Объектная переменная или переменная блока With не задана
92 For loop not initialized Цикл For не инициализирован
94 Invalid use of Null Недопустимое использование Null
322 Can’t create necessary temporary file Невозможно создание требуемого временного файла
424 Object required Требуется объект
429 Automation server can’t create object Невозможно создание объекта сервером программирования объектов
430 Class doesn’t support Automation Класс не поддерживает программирование объектов
432 File name or class name not found during Automation operation Не найдено имя файла или класса при операции программирования объектов
438 Object doesn’t support this property or method Объект не поддерживает это свойство или метод
440 Automation error Ошибка программирования объектов
445 Object doesn’t support this action Команда не поддерживается объектом
446 Object doesn’t support named arguments Объект не поддерживает именованные аргументы
447 Object doesn’t support current locale setting Объект не поддерживает текущую национальную настройку
448 Named argument not found Именованный аргумент не найден
449 Argument not optional Обязательный аргумент
450 Wrong number of arguments or invalid property assignment Недопустимое число аргументов или присвоение значения свойства
451 Object not a collection Объект не является семейством
453 Specified DLL function not found Указанная функция DLL не найдена
458 Variable uses an Automation type not supported in JScript Переменная использует не поддерживаемый в JScript тип программирования объектов
462 The remote server machine does not exist or is unavailable Удаленный сервер не существует или недоступен
501 Cannot assign to variable Присвоение значения переменной невозможно
502 Object not safe for scripting Применение объекта в сценариях небезопасно
503 Object not safe for initializing Инициализация объекта небезопасна
504 Object not safe for creating Создание объекта небезопасно
507 An exception occurred Произошло исключение
4096 Microsoft JScript compilation error Ошибка компиляции Microsoft JScript
4097 Microsoft JScript runtime error Ошибка выполнения Microsoft JScript
4098 Unknown runtime error Неизвестная ошибка выполнения
5000 Cannot assign to ‘this’ Невозможно присвоение значения ‘this’
5001 Number expected Предполагается наличие числа
5002 Function expected Предполагается наличие функции
5003 Cannot assign to a function result Невозможно присвоение результату функции
5004 Cannot index object Невозможно индексирование объекта
5005 String expected Предполагается наличие строки
5006 Date object expected Предполагается наличие объекта-даты
5007 Object expected Предполагается наличие объекта
5008 Illegal assignment Недопустимое присвоение
5009 Undefined identifier Неопределенный идентификатор
5010 Boolean expected Предполагается наличие логического значения
5011 Can’t execute code from a freed script Не удается выполнить программу из освобожденного сценария
5012 Object member expected Предполагается наличие компонента объекта
5013 VBArray expected Предполагается наличие VBArray
5014 JScript object expected Предполагается наличие объекта JScript
5015 Enumerator object expected Предполагается наличие объекта Enumerator
5016 Regular Expression object expected Предполагается наличие объекта регулярного выражения
5017 Syntax error in regular expression Ошибка синтаксиса в регулярном выражении
5018 Unexpected quantifier Неизвестный числовой показатель
5019 Expected ‘]’ in regular expression Предполагается наличие ‘]’ в регулярном выражении
5020 Expected ‘)’ in regular expression Предполагается наличие ‘)’ в регулярном выражении
5021 Invalid range in character set Недопустимый диапазон в наборе символов
5022 Exception thrown and not caught Исключение сгенерировано и не обработано
5023 Function does not have a valid prototype object Функция не имеет правильного объекта- прототипа
5024 The URI to be encoded contains an invalid character Кодируемый URI содержит недопустимый символ
5025 The URI to be decoded is not a valid encoding Декодируемый URI имеет неверную кодировку
5026 The number of fractional digits is out of range Недопустимое число цифр дробной части
5027 The precision is out of range Недопустимое значение точности
5028 Array of arguments object expected Предполагается наличие объекта массив аргументов
5029 Array length must be a finite positive integer Длина массива должна быть целым положительным числом
5030 Array length must be assigned a finite positive number Длине массива должна быть присвоено целое положительное число
5031 Array object expected Предполагается наличие объекта Array

 

Your script can only run inside the aspx page as it is. <%=tbName.ClientID%> is server-side logic it’s placing the literal client-side ID in the output to the client, so before it looked like this when rendered in the HTML:

document.getElementById("tbName")
//looks for <input id="tbName" />

Now it looks just like this:

document.getElementById("<%=tbName.ClientID%>")
//looks for <input id="<%=tbName.ClientID%>" /> ... doesn't exist :)

Since it’s no longer finding an object/element (because that ID doesn’t exist) you’re getting the object required error. You have to either keep this logic in the page, or move to some other approach using classes, etc. If you’re doing a lot of validation, I’d take a look at jQuery and the validation library.


Update: Here’s the solution T.J. provided for you in comments in full text form for an easier read. If you’re only validating a few fields, this is the simplest fix to your situation:

function validate(nameId, branchId) {
  if (document.getElementById(nameId).value=="")
  {
             alert("Name Feild can not be blank");
             document.getElementById(nameId).focus();
             return false;
  }
  if (document.getElementById(branchId).value=="SelectBranch")
  {
             alert("Branch Should Be Selected");
             document.getElementById(branchId).focus();
             return false;
  }
}

In your code-behind:

//Note your current method is deprecated after .Net 2.0+, should use this instead:
//ClientScript.RegisterClientScriptInclude("validation", "validation.js");
Page.RegisterClientScriptBlock("MyScript", "<script type='text/javascript' src='validation.js'></script>"); 
btnSubmit.Attributes.Add("onclick", string.Format("return validate('{0}','{1}')", tbName.ClientID, ddlBranch.ClientID));

Your script can only run inside the aspx page as it is. <%=tbName.ClientID%> is server-side logic it’s placing the literal client-side ID in the output to the client, so before it looked like this when rendered in the HTML:

document.getElementById("tbName")
//looks for <input id="tbName" />

Now it looks just like this:

document.getElementById("<%=tbName.ClientID%>")
//looks for <input id="<%=tbName.ClientID%>" /> ... doesn't exist :)

Since it’s no longer finding an object/element (because that ID doesn’t exist) you’re getting the object required error. You have to either keep this logic in the page, or move to some other approach using classes, etc. If you’re doing a lot of validation, I’d take a look at jQuery and the validation library.


Update: Here’s the solution T.J. provided for you in comments in full text form for an easier read. If you’re only validating a few fields, this is the simplest fix to your situation:

function validate(nameId, branchId) {
  if (document.getElementById(nameId).value=="")
  {
             alert("Name Feild can not be blank");
             document.getElementById(nameId).focus();
             return false;
  }
  if (document.getElementById(branchId).value=="SelectBranch")
  {
             alert("Branch Should Be Selected");
             document.getElementById(branchId).focus();
             return false;
  }
}

In your code-behind:

//Note your current method is deprecated after .Net 2.0+, should use this instead:
//ClientScript.RegisterClientScriptInclude("validation", "validation.js");
Page.RegisterClientScriptBlock("MyScript", "<script type='text/javascript' src='validation.js'></script>"); 
btnSubmit.Attributes.Add("onclick", string.Format("return validate('{0}','{1}')", tbName.ClientID, ddlBranch.ClientID));

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка прекращена работа программы adobe rdrcef
  • Ошибка при активации windows 10 0x8007007d