Работа на javascript с xml
Здравствуйте, помогите пожалуйста, проблема следующая: есть код, который достает из базы xml запись по определенному параметру (задается переменной SearchString), по сути получается тест, выбранный ответ сравнивается с правильным и если ответ верный, то к переменной SearchString добавляется 1, иначе вычитается 1. дальше по сути должна выполняться новая выборка из базы уже с новым значением переменной SearchString. но вместо этого все сбрасывается. подскажите пожалуйста, где ошибка? спасибо большое заранее (прошу прощения, что коды большие)
скрипт: <script language="javascript"> var SearchString = 3; function FindQuestion(){ dsoBASE.recordset.moveFirst(); //переменная, содержащая результаты поиска ResultHTML1 = ""; ResultHTML2 = ""; ResultHTML3 = ""; ResultHTML4 = ""; ResultHTML5 = ""; //цикл по записям базы while(!dsoBASE.recordset.EOF){ //получаем заголовок записи и содержимое TextString = dsoBASE.recordset.fields("TEXT").value; Answer1 = dsoBASE.recordset.fields("ANSWER1").value; Answer2 = dsoBASE.recordset.fields("ANSWER2").value; Answer3 = dsoBASE.recordset.fields("ANSWER3").value; RightAns = dsoBASE.recordset.fields("RIGHT_ANSWER").value; Info = dsoBASE.recordset.fields("INFO").value; //переходим в начало набора записей Info.moveFirst(); //цикл по инфе while(!Info.EOF){ //получаем сложность DifficultString = Info.fields("DIFFICULTY").value //alert (DifficultString) //alert (DifficultString.indexOf(SearchString)) //собственно поиск if(DifficultString.indexOf(SearchString) >= 0) { //если нашли, пополняем строку результатов ResultHTML1 += TextString + "<br>" ResultHTML2 += Answer1 + "<br>" ResultHTML3 += Answer2 + "<br>" ResultHTML4 += Answer3 + "<br>" ResultHTML5 += RightAns + "<br>" //переходим в конец набора записей, т.к. дальнейший перебор не нужен Info.moveLast(); righ = RightAns; } //переходим к следующему записи Info.moveNext(); }//конец цикла по сложности //переходим к следующей записи dsoBASE.recordset.moveNext(); }//конец цикла по записям //если ничего не найдено, отображаем сообщение об этом if(ResultHTML1 == "") ResultDiv1.innerHTML = "Нет такой сложности"; //выводим строку результатов else ResultDiv1.innerHTML = ResultHTML1; ResultDiv2.innerHTML = ResultHTML2; ResultDiv3.innerHTML = ResultHTML3; ResultDiv4.innerHTML = ResultHTML4; ResultDiv5.innerHTML = ResultHTML5; } function Result() { for (i=0; i<3; i++) { if (document.form1.q1[i].checked) if (document.form1.q1[i].value != righ) SearchString = SearchString - 1; else SearchString = SearchString + 1; } alert ("SearchString конечное " + SearchString); FindQuestion(); } </script> <body> <p> <XML ID="dsoBASE" SRC="Sample.xml"></XML> <input type="button" onClick="FindQuestion()" value="Выбрать задачу"> </p> <p>Вопрос: </p> <div id="ResultDiv1"></div> <div id="ResultDiv5"></div> <form name="form1"> <table width="100%" border="0" cellspacing="0"> <tr> <td valign="top"><input name="q1" type=radio value="a" align="absmiddle"/></td> <td width="98%"><div id="ResultDiv2"></div></td> </tr> <tr> <td valign="top"><input name="q1" type=radio value="b" align="absmiddle"/></td> <td><div id="ResultDiv3"></div></td> </tr> <tr> <td rowspan="2" valign="top"><input name="q1" type=radio value="c" align="absmiddle"/></td> <td><div id="ResultDiv4"></div></td> </tr> <tr> <td> <br><input type="submit" name="Submit" value="Проверить" onClick="Result()"> </td> </tr> </table> </form> <P NAME ="selected"></P> </body> файл xml: <?xml version="1.0"?> <BASE> <QUESTION> <TEXT> Текст задачи 2 </TEXT> <ANSWER1>ОТВЕТ 2.1</ANSWER1> <ANSWER2>ОТВЕТ 2.2</ANSWER2> <ANSWER3>ОТВЕТ 2.3</ANSWER3> <RIGHT_ANSWER>b</RIGHT_ANSWER> <INFO> <DIFFICULTY> 2 </DIFFICULTY> <THEME> Кинематика </THEME> </INFO> </QUESTION> <QUESTION> <TEXT> Текст задачи 3 </TEXT> <ANSWER1>ОТВЕТ 3.1</ANSWER1> <ANSWER2>ОТВЕТ 3.2</ANSWER2> <ANSWER3>ОТВЕТ 3.3</ANSWER3> <RIGHT_ANSWER>a</RIGHT_ANSWER> <INFO> <DIFFICULTY> 3 </DIFFICULTY> <THEME> Кинематика </THEME> </INFO> </QUESTION> <QUESTION> <TEXT> Текст задачи 4 </TEXT> <ANSWER1>ОТВЕТ 4.1</ANSWER1> <ANSWER2>ОТВЕТ 4.2</ANSWER2> <ANSWER3>ОТВЕТ 4.3</ANSWER3> <RIGHT_ANSWER>c</RIGHT_ANSWER> <INFO> <DIFFICULTY> 4 </DIFFICULTY> <THEME> Кинематика </THEME> </INFO> </QUESTION> </BASE> |
Часовой пояс GMT +3, время: 08:33. |