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

Есть переменная var name = name();
Запускает функцию :

function name(){
    var random = WScript.CreateObject("System.Random");
    var count_lit = random.Next_2(2, 10);

    var name_i;

    for (var i = 0; i < count_lit; i++){
        name_i += name_builder(name_i);
    }

    return name_i;
}

В которой перенаправление на функцию:

function name_builder(name){
    var random = WScript.CreateObject("System.Random");
    var number_or_litr = random.Next_2(1, 2);
    // 1 - litr; 2 - number
        if(number_or_litr == 1){
            var abets = random.Next_2(1, 26);
            var litera;
            switch(abets){
                case 1:
                            litera = "a";
                ... 

                case 26:
                            litera = "z";
            };
            var Big_or_mini = random.Next_2(1, 2);
            // 1 - big; 2 - mini 
            if(Big_or_mini == 1){
                name+= litera.toUpperCase();
            }
            else{
                name+= litera;
            }
        }
        else{
            name+= random.Next_2(0, 9).toString();
        }

    return name;
}

Задача скрипта — выдавать «Random» название.
При запуске скрипта возникает ошибка

«Строка: 101» — это мое указание переменной var name = name()

«Символ: 3»

«Ошибка: Предполагается наличие объекта»

Кручу — верчу, а понять не могу. Спасибо!

Номер Описание 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));

Материал из Справочник Web-языков

Перейти к: навигация, поиск

Ошибки JScript при выполнении кода (JScript run-time errors)

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

5029
Длина массива должна быть целым положительным числом.
5030
Длине массива должно быть присвоено целое положительное число.
5028
Предполагается наличие объекта Массив аргументов.
5010
Предполагается наличие логического значение boolean.
5003
Присвоение результату функции невозможно.
5000
Присвоение значения this невозможно.
5034
Циклическая ссылка в значении аргумента не поддерживается.
5006
Предполагается наличие объекта, отвечающего за дату.
5015
Предполагается наличие объекта-счетчика (enumerator).
5022
Исключение сгенерировано и не обработано.
5020
Предполагается наличие ‘)’ в регулярном выражении.
5019
Предполагается наличие ‘]’ в регулярном выражении.
5023
Функция не имеет допустимого объекта-прототипа.
5002
Предполагается наличие функции.
5008
Недопустимое присвоение.
5021
Недопустимый диапазон в наборе символов.
5035
Недопустимый заменяемый (подставляемый) аргумент.
5014
Предполагается наличие объекта JScript.
5001
Предполагается наличие числа.
5007
Предполагается наличие объекта.
5012
Предполагается наличие компонента объекта.
5016
Предполагается наличие объекта регулярного выражения.
5005
Предполагается наличие строки.
5017
Синтаксическая ошибка в регулярном выражении.
5026
Недопустимое число цифр дробной части.
5027
Недопустимое значение точности.
5025
Декодируемый URI имеет неверную кодировку.
5024
Кодируемый URI содержит недопустимый символ.
5009
Неопределенный идентификатор.
5018
Неизвестный числовой показатель.
5013
Предполагается наличие VBArray.

Смотрите также

Коды синтаксических ошибок JScript

Ссылки на источники

https://msdn.microsoft.com/en-us/library/1dk3k160.aspx

Artishok

ЧакЭ одобряЭ

285 / 284 / 86

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

Сообщений: 1,767

1

Ошибка «Предполагается наличие объекта»

14.02.2013, 21:42. Показов 12505. Ответов 1

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


Студворк — интернет-сервис помощи студентам

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

я вроде бы написал все верно. запускаю через Internet Explorer 8 — все время ругается что «предполагается наличие объекта». — строка 42 символ 1.
но я не могу понять в чем ошибка! я решил удалить 8 и установить 7 — ошибка та же.

в чем проблема?

HTML5
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
<html>
    <head>
        <meta charset="utf-8">
        <script type="text/javasript">
            function onFolder(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                var name = document.getElementById("idtextbox1").value;
                var path = document.getElementById("idtextbox2").value;
                var x = path + "\" + name;
                alert(x);
                return x;
            }
            function onCreate(){
                alert("try to create object");
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                alert("try to create path to folder");
                var path = onFolder();
                alert("try to create folder");
                var x = ob.CreateFolder(path);
            }
            function onCopy(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");           
                var source = onFolder();
                var dest = document.getElementById("idtextbox3").value;
                ob.CopyFolder(source,dest + "\");
            }
            function onDelete(){
                var ob = new ActiveXObject("Scripting.FileSystemObject");
                var folder = onFolder();
                ob.DeleteFolder(folder);
            }
        </script>
    </head>
    <body>
        Имя папки для создания<input type="text" id="idtextbox1">
        <br>
        Проверка пути<input type="file" id="filer"><br>
        Путь к папке в которой создают<input type="text" id="idtextbox2">
        <br>
        Путь к папке в которую скопируют<input type="text" id="idtextbox3">
        <br>
        <input type="button" id="idbutton1" value="Создать" onClick="onCreate()">
        <input type="button" id="idbutton2" value="Копировать" onClick="onCopy()">
        <input type="button" id="idbutton3" value="Удалить" onClick="onDelete()">
    </body>
</html>



0



Programming

Эксперт

94731 / 64177 / 26122

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

Сообщений: 116,782

14.02.2013, 21:42

Ответы с готовыми решениями:

Как написать регулярное выражение для выдергивания английских букв и символов: «+», «,», «:», «-«, » «, «!», «?» и «.»
Не могу ни как собразить как написать регулярное выражение для выдергивания английских букв и…

Получить значение из {«text1″:»val1″,»text2″:»val2″,»text3»:{«text»:»val»}}
Есть такая строка
var my = ‘{&quot;text1&quot;:&quot;val1&quot;,&quot;text2&quot;:&quot;val2&quot;,&quot;text3&quot;:{&quot;text&quot;:&quot;val&quot;}}’;
Как из…

Создание браузерной CAD, «math scetchpad», «Geogebra», «Живая геометрия»»
Создаю браузерную версию CAD системы, для обучения школьников стереометрии и планиметрии, что-то…

Создать программу такую, что пользователь вводит число, а мы ему выдаём «-лет» или «-год» «-года»
4)Создать программу такую, что пользователь вводит число, а мы ему выдаём &quot;-лет&quot; или &quot;-год&quot; &quot;-года&quot;.

1

newJS

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

2435 / 1114 / 312

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

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

15.02.2013, 10:24

2

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

Решение

тут книжку дерни

делал в hta, чтобы глупых вопросов не было
еще надо проверять флаги, иначе могут быть ошибки, дело муторное, мне лень
больше всего заморочек может быть с удалением

HTML5
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<title>w121</title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<link rel="stylesheet" type="text/css" href="test_1.css">
<script type="text/javascript" src="test_1.js"></script>
<hta:application windowstate="maximize"></hta:application>
</head>
 
<body>
 
<div>в рамках лабы нужно сделать так чтобы можно было создать каталог, копировать его и удалить используя ActiveX.<br>
я вроде бы написал все верно. запускаю через Internet Explorer 8 - все время ругается что "предполагается наличие объекта". - строка 42 символ 1.</div>
<br><br>
Имя папки для создания <input type="text" id="idtextbox1" value="news_folder">
<br>
Проверка пути <input type="file" id="filer"><br>
Путь к папке в которой создают <input type="text" id="idtextbox2" value="i:/pics/tyt/">
<br>
Путь к папке в которую скопируют <input type="text" id="idtextbox3" value="i:/pics/tyt_3/">
<br>
Путь к папке в которую скопируют <input type="text" id="idtextbox4" value="i:/pics/tyt/news_folder">
<br>
<input type="button" id="idbutton1" value="Создать">
<input type="button" id="idbutton2" value="Копировать">
<input type="button" id="idbutton3" value="Удалить">
 
</body>
</html>
Javascript
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
(function(){
var Q, d, fso;
Q={};
d=document;
fso=new ActiveXObject("Scripting.FileSystemObject");
 
 
 
onload=function(){
d.getElementById("idbutton1").onclick=createF;
d.getElementById("idbutton2").onclick=copyF;
d.getElementById("idbutton3").onclick=deleteF;
getFolder();
 };
 
function createF(){
var f;
f=fso.FolderExists(Q.wayF+Q.wayN);//есть ли такая папка
//alert(Q.wayF+Q.wayN);
if(!f){
fso.CreateFolder(Q.wayF+Q.wayN);
alert('По идее получилось.');}
else{alert('Такая папка уже есть, тебе зачем две одинаковые?');};
 
 };
 
function copyF(){
var f1, f2;
f1=fso.FolderExists(Q.wayF+Q.wayN);
f2=fso.FolderExists(Q.wayC+Q.wayN);
//alert((Q.wayF+Q.wayN)+'n'+(Q.wayC));
if(f1&&!f2){
fso.CopyFolder(Q.wayF+Q.wayN, Q.wayC);
alert('Хозяин, похвали меня, у меня всё получилось.');}
else{
f1=f1?"":'Нет папки для копирования.n';
f2=f2?'Папка уже существует.':"";
alert(f1+f2);};
 };
 
function deleteF(){
var f;
f=fso.FolderExists(Q.wayD);
if(f){fso.DeleteFolder(Q.wayD);
alert('Странные вы существа, люди, сначала создали теперь удалили.');}
else{alert('Папка не существует.');};
 
 };
 
function getFolder(){
Q.wayN=d.getElementById("idtextbox1").value;
Q.wayF=d.getElementById("idtextbox2").value.replace(/\/g, "/");
Q.wayC=d.getElementById("idtextbox3").value.replace(/\/g, "/");
Q.wayD=d.getElementById("idtextbox4").value.replace(/\/g, "/");
 };
 
 
 })();



1



Возможно, вам также будет интересно:

  • Ошибка выполнения имя не объявлено кумир что делать
  • Ошибка выполнения операции в бд барс имущество
  • Ошибка выполнения дочернего запроса дескриптора
  • Ошибка выполнения javascript невозможно загрузить оригинал страницы
  • Ошибка выполнения запроса сервером приложений

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

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