Проверка формы JavaScript на стороне клиента, для формы, созданной случайным скриптом - PullRequest
0 голосов
/ 15 июля 2011

Я делаю веб-приложение для своего iPad, чтобы помочь сыну с его математикой.

Каждый раз, когда вы перезагружаете страницу, она дает вам новый тест.Чего мне не хватает, так это проверки на стороне клиента.Я использовал JQuery раньше, но никогда не случайно.Вот небольшой фрагмент кода, который создает случайную строку для вопросов.

Проблема в том, что у меня нет возможности проверить ответы в реальном времени.

<tbody><tr> 
    <td><li class="smallfield"><span class="name"><script language="JavaScript">
<!--
var r_text = new Array ();
r_text[0] = "1 x 1 =";
r_text[1] = "1 x 2 =";
r_text[2] = "1 x 3 =";
r_text[3] = "1 x 4 =";
r_text[4] = "1 x 5 =";
r_text[5] = "1 x 6 =";
r_text[6] = "1 x 7 =";
r_text[7] = "1 x 8 =";
r_text[8] = "1 x 9 =";
r_text[9] = "1 x 10 =";
r_text[10] = "1 x 11 =";
r_text[11] = "1 x 12 =";;

var i = Math.floor(12*Math.random())

document.write(r_text[i]);

//-->
</script></span><input placeholder="=" type="num" />
            </li></td>
    <td><li class="smallfield"><span class="name"><script language="JavaScript">
<!--
var r_text = new Array ();
r_text[0] = "1 x 1 =";
r_text[1] = "1 x 2 =";
r_text[2] = "1 x 3 =";
r_text[3] = "1 x 4 =";
r_text[4] = "1 x 5 =";
r_text[5] = "1 x 6 =";
r_text[6] = "1 x 7 =";
r_text[7] = "1 x 8 =";
r_text[8] = "1 x 9 =";
r_text[9] = "1 x 10 =";
r_text[10] = "1 x 11 =";
r_text[11] = "1 x 12 =";;

var i = Math.floor(12*Math.random())

document.write(r_text[i]);

//-->
</script></span><input placeholder="=" type="num" />
            </li></td>

1 Ответ

1 голос
/ 15 июля 2011

Во-первых, вам нужно сохранить записанный вопрос в переменной, чтобы вы могли получить к нему доступ позже.Что-то вроде:

var question = r_text[i];
document.write(question);

таким образом, вы можете использовать значение позже.

Однако это означает, что вы должны извлечь случайное число из строки вопроса для проверки.Однако лучшим способом, вероятно, было бы просто сохранить сгенерированное случайное число (i) и записать вопрос примерно так:

document.write("1 x " + i + " =");

, устраняя необходимость в массиве r_text.

Теперьдля проверки вы можете иметь кнопку рядом с полями ввода и вызывать метод проверки с помощью события onClick.

<button onClick="javascript:validateAnswer()">Check!</button>

, где validateAnswer будет получать текст в поле ввода и проверять, верен ли ответ.

...