我的表格很好。我有一个测验工作正常。
当我把两者合并时,他们不能正常工作:(
测验可以作为测验,但它不会使用php将其发送到我的电子邮件地址。
以下是我的一些代码:
<head>
<script>
CorrectAnswers = new Array();
CorrectAnswers[0]=1;
CorrectAnswers[1]=1;
CorrectAnswers[2]=1;
CorrectAnswers[3]=2;
macrightchar='YES';
macwrongchar='NO';
winrightchar='YES';
winwrongchar='NO';
var platform = 'win'
if (navigator.appVersion.indexOf('Mac') != -1) {platform = 'mac'}
if (platform == 'mac') {
rightchar = unescape(macrightchar)
wrongchar = unescape(macwrongchar)
}
else {
rightchar = unescape(winrightchar)
wrongchar = unescape(winwrongchar)
}
function CheckAnswer(){
var i = 0;
var TotalCorrect = 0;
var x = 0;
var Score = 0;
for (i=0; i<CorrectAnswers.length; i++){
if (document.QuizForm.elements[i*2].selectedIndex == CorrectAnswers[i]){
document.QuizForm.elements[(i*2)+1].value = rightchar;
TotalCorrect++;
}
else{
document.QuizForm.elements[(i*2)+1].value = wrongchar;
}
}
Score = Math.floor((TotalCorrect*100)/CorrectAnswers.length);
document.CheckForm.ScoreBox.value = Score + '%';
}
</script>
</head>
<body>
<form name="QuizForm" accept-charset="utf-8" method="post" action="forms/quiz/_process.php" onSubmit="return validate.check(this)">
<table class="widthOneHundredPercent">
<tr>
<td class="tableCellFloat columnOne" valign="top">
<label for="Big_Media_offers_a_great_multiplatform_tool">Big Media offers a great multiplatform tool</label>
</td>
<td class="tableCellFloat columnTwo" valign="top">
<select name="0">
<option>???</option>
<option>True</option>
<option>False</option>
</select>
<td valign=top>
<input type="text" name="1" size=2 maxlength=2>
</td>
</td>
</tr>
<tr>
<FORM name="CheckForm">
<td align="center">
<font face="Geneva,Arial"><input type="button" VALUE="Check" onClick="CheckAnswer()"> Your score is <input type=text name="ScoreBox" size="4" maxlength="4"></font>
<center><input type="submit" value="Submit Form" /></center>
</form>
按下提交时,它会将地址栏中文件名的结尾从quiz.php更改为quiz.php?ScoreBox = 75%25。所以它需要我正确的答案和错误的答案。
点击检查分数时,我需要测验显示实时的正确和错误答案,但我还需要使用PHP发送结果。
如果我完全错了,也许有人可以指出我正确的方向重新开始。
问候。
答案 0 :(得分:1)
在打开“CheckForm”之前,请尝试为“QuizForm”添加结束<form>
标记。
[edit]实际上,QuizForm似乎没有提交方法。
答案 1 :(得分:1)
我在这里注意到的一些事情:
QuizForm
没有提交按钮,似乎没有动态提交(可能无法显示)。也许这个表格和CheckForm
可以合并。CheckForm
没有定义method
,这就是提交在其上放置查询字符串的原因答案可能就像将提交按钮从CheckForm
移动到QuizForm
一样简单。