对于使用随机脚本创建的表单,在客户端进行JavaScript表单验证

时间:2011-07-14 20:45:34

标签: random webforms jquery-validate

我正在为我的iPad做一个webapp来帮助我儿子的数学。

每次重新加载页面时,都会为您提供新的测试。我缺少的是客户端验证。我之前使用过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 个答案:

答案 0 :(得分:1)

首先,您需要保存您在变量中写出的问题,以便以后可以访问它。类似的东西:

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

这样,您可以稍后使用该值。

但是,这意味着您必须从问题字符串中提取随机数以进行验证。但是,更好的方法可能是简单地保存生成的随机数(i)并将问题写出来

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

不需要r_text数组。

现在,为了验证,您可以在输入字段旁边有一个按钮,并使用onClick事件调用验证方法。

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

其中validateAnswer将在输入字段中获取文本,并查看答案是否正确。