Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

jаvаsсriрt сводит с ума

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Первый вопрос] >> jаvаsсriрt сводит с ума
Имя
Сообщение << Старые топики   Новые топики >>
jаvаsсriрt сводит с ума - 2011-02-04 11:17:26.740000   
nekiii

Сообщений: 5
Оценки: 0
Присоединился: 2010-05-31 14:21:12.753333
Я создал оболочку на C# , которая с помощью объекта WebBrowcer отображает HТМL документ
Этот документ выполняет сценарий jаvаsсriрt (простой тест)
Когда запускаю созданную программу ВЫВОДИТСЯ ОШИБКА. Если я этот HТМL документ открываю через браузер то ошибка сценария не происходит! Как исправить эту проблему??
&lt;sсriрt LANGUAGE="jаvаsсriрt"&gt; // Заголовок страницы (h1) var title = 'Срез полученных знаний'; // Подзаголовок (h2) var subtitle = "Этот тест позволяет оценить знания"; // Это ваши вопросы var questions=[ { text: "Что такое &lt;b&gt;объект&lt;/b&gt; с точки зрения программирования?:", answers: ["философская категория, если определять её в пределах эпистемологии, выражающая нечто, существующее в реальной действительности (то есть независимо от сознания) — предмет, явление или процесс, на которые направлена предметно-практическая и познавательная деятельность субъекта (наблюдателя).", "некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов)", "это тип, описывающий устройство объектов."], correctAnswer: 1 // нумерация ответов с нуля! }, { text: "Эстетические чувства:", answers: ["даются человеку от рождения", "формируются в первые 3-4 года жизни", "наличествуют не у всех людей, а развиваются индивидуально"], correctAnswer: 1 }, { text: "Для чего необходима функция &lt;b&gt;Val&lt;/b&gt;? ", answers: ["возвращает числа в строке в качестве неполных значений соответствующего типа", "возвращает числа, содержащиеся в строке в качестве числовых значений соответствующего типа", "возвращает числа, содержащиеся в строке в качестве строковых данных"], correctAnswer: 1 }, { text: "Что такое &lt;b&gt;класс&lt;/b&gt; с точки зрения программирования?:", answers: ["некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов)", "это объект-образец, по образу и подобию которого создаются другие объекты.", "это тип, описывающий устройство объектов.",], correctAnswer: 2 // нумерация ответов с нуля! }, ]; var yourAns = new Array; var score = 0; function Engine(question, answer) {yourAns[question]=answer;} ball=0; function Score(){ var answerText = "Результат:\n"; for(var i = 0; i &lt; yourAns.length; ++i){ var num = i+1; answerText=answerText+"\n Вопрос №"+ num +""; if(yourAns[i]!=questions[i].correctAnswer){ answerText=answerText+"\n Правильный ответ: " + questions[i].answers[questions[i].correctAnswer] + "\n"; } else{ answerText=answerText+": Верно! \n"; ++score; ball=ball+2; } } if(ball&lt;=30) { answerText=answerText+"\nВсего правильных ответов: "+score+" из 30\nКоличество баллов: "+ball+"\nВаша оценка:"+"2"; } if(ball&gt;=32 & ball&lt;=44) { answerText=answerText+"\nВсего правильных ответов: "+score+" из 30\nКоличество баллов: "+ball+"\nВаша оценка:"+"3"; } if(ball&gt;=46 & ball&lt;=56) { answerText=answerText+"\nВсего правильных ответов: "+score+" из 30\nКоличество баллов: "+ball+"\nВаша оценка:"+"4"; } if(ball&gt;=58 & ball&lt;=60) { answerText=answerText+"\nВсего правильных ответов: "+score+" из 30\nКоличество баллов: "+ball+"\nВаша оценка:"+"5"; } confirm(answerText); yourAns = new Array; score = 0; ball=0; clearForm("quiz"); } function clearForm(name) { var f = document.forms[name]; for(var i = 0; i &lt; f.elements.length; ++i) { if(f.elements[i].checked) f.elements[i].checked = false; } } &lt;/sсriрt&gt; &lt;h1&gt;&lt;sсriрt&gt;document.write(title)&lt;/sсriрt&gt;&lt;/h1&gt; &lt;h2&gt;&lt;sсriрt&gt;document.write(subtitle)&lt;/sсriрt&gt;&lt;/h2&gt; &lt;FORM name="quiz" &gt; &lt;ol&gt; &lt;sсriрt&gt; for(var q=0; q&lt;questions.length; ++q) { var question = questions[q]; var idx = 1 + q; document.writeln('&lt;li&gt;&lt;span class="quest"&gt;' + question.text + '&lt;/span&gt;&lt;br/&gt;'); for(var i in question.answers) { document.writeln('&lt;input type=radio name="q' + idx + '" value="' + i + '" оnclick="Engine(' + q + ', this.value)"&gt;' + question.answers[i] + '&lt;br/&gt;'); } } &lt;/sсriрt&gt; &lt;/ol&gt; &lt;input type=button оnclick="Score()" value="Проверить результат"&gt; &lt;/FORM&gt;
КОНКРЕТНО ошибка происходит в этой области:
document.writeln('&lt;li&gt;&lt;span class="quest"&gt;' +question.text+ '&lt;/span&gt;&lt;br/&gt;'); question.text есть null или не является объектом
как исправить эту ошибку и если нельзя исправить скажите что можно сделать чтобы ошибка не выдавалась! потому что сам скрипт работает правильно как и должен
ПОМОГИТЕ я полный ламер в jаvаsсriрt
Post #: 1
RE: JavaScript сводит с ума - 2011-02-04 11:25:26.470000   
Sрam

Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
quote:

document.writeln('&lt;li&gt;&lt;span class="quest"&gt;' + question.text + '&lt;/span&gt;&lt;br/&gt;');

Как я понял это имя файла… но вот вопрос зачем оно здесь? Убери это из кода…
Post #: 2
RE: JavaScript сводит с ума - 2011-02-04 11:30:31.196666   
nekiii

Сообщений: 5
Оценки: 0
Присоединился: 2010-05-31 14:21:12.753333

quote:

ORIGINAL: Sрam

quote:

document.writeln('&lt;li&gt;&lt;span class="quest"&gt;' + question.text + '&lt;/span&gt;&lt;br/&gt;');

Как я понял это имя файла… но вот вопрос зачем оно здесь? Убери это из кода…


нет это не имя файла это текст вопроса который выводится в форме! я убираю ошибка появляется в другом месте! где выводятся ответы
document.writeln('&lt;input type=radio name="q' + idx + '" value="' + i + '" оnclick="Engine(' + q + ', this.value)"&gt;' + question.answers[i] + '&lt;br/&gt;');
question.answers и та же самая ошибка
Post #: 3
RE: jаvаsсriрt сводит с ума - 2011-02-04 11:42:32.143333   
Sрam

Сообщений: 2863
Оценки: 372
Присоединился: 2009-01-16 15:23:43.276666
Попробуй question сразу не присваивать все поля записи, а 2-м переменным присвоить question.text и question.answers
Post #: 4
RE: jаvаsсriрt сводит с ума - 2011-02-04 11:45:38.296666   
nekiii

Сообщений: 5
Оценки: 0
Присоединился: 2010-05-31 14:21:12.753333
quote:

ORIGINAL: Sрam
Попробуй question сразу не присваивать все поля записи, а 2-м переменным присвоить question.text и question.answers



спасибо огромное! ну я написал что я ламер! я сижу я вообще не догоняю этот код((((
я не понял что надо попробовать
Post #: 5
RE: jаvаsсriрt сводит с ума - 2011-02-04 11:47:58.903333   
nekiii

Сообщений: 5
Оценки: 0
Присоединился: 2010-05-31 14:21:12.753333
ой у меня чот получилось теперь ошибка не выводится но выводятся только первый вопрос) это типа мне для всех 30 вопросов нужно сделать массив??? по идеи вопросов должно быть 30(они на стадии разработки))))))
Post #: 6
RE: jаvаsсriрt сводит с ума - 2011-02-04 15:22:42.816666   
nekiii

Сообщений: 5
Оценки: 0
Присоединился: 2010-05-31 14:21:12.753333
я понял в чём ошибка))))
{
text: "Что такое <b>класс</b> с точки зрения программирования?:",
answers: ["некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов)",
"это объект-образец, по образу и подобию которого создаются другие объекты.",
"это тип, описывающий устройство объектов.",],
correctAnswer: 2 // нумерация ответов с нуля!
},

вот в последней запятой после которой ничего нетууууу))) пустое значение ))))))))) вот всё)))
Post #: 7
Страниц:  [1]
Все форумы >> [Первый вопрос] >> jаvаsсriрt сводит с ума







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.