Javascript 如何防止在使用onsubmit调用函数时刷新html页面

Javascript 如何防止在使用onsubmit调用函数时刷新html页面,javascript,php,html,innerhtml,onsubmit,Javascript,Php,Html,Innerhtml,Onsubmit,我创建了一个简单的测验,包含20个左右的单词,每个单词旁边都有表格供用户提交答案。我使用for循环遍历一个数组,该数组包含要向用户显示的所有单词。当用户按enter键时,我希望每个表单都能调用checkAnswers(index)(返回false),这样我就可以使用innerHTML将标签“answer”替换为“error”或“correct”。但是,每次按enter键时,页面都会刷新,所有输入的文本都会被删除,并且不会出现innerHTML。我已经确定崩溃发生在innerHTML行中,但我不确

我创建了一个简单的测验,包含20个左右的单词,每个单词旁边都有表格供用户提交答案。我使用for循环遍历一个数组,该数组包含要向用户显示的所有单词。当用户按enter键时,我希望每个表单都能调用checkAnswers(index)(返回false),这样我就可以使用innerHTML将标签“answer”替换为“error”或“correct”。但是,每次按enter键时,页面都会刷新,所有输入的文本都会被删除,并且不会出现innerHTML。我已经确定崩溃发生在innerHTML行中,但我不确定原因

 //This works totally fine:
 document.getElementById("answer"+index);
 //But add an innerHTML and nothing works:
 document.getElementById("answer"+index).innerHTML("incorrect");

<? for ($ii = 0; $ii < count($array); $ii++) { ?>
    <tr>
    <td valign = "top">
        <? echo $array[$ii] ?>
    </td>

    <td valign = "bottom">
        <form method = "post" onsubmit="return checkAnswers(<?echo $ii?>)">
            <input type="hidden" id="english<? echo $ii ?>" />
            <input name ="<? echo "input".$ii ?>"/>
        <label id="answer<? echo $count ?>" />
        </form>
    </td>
    </tr>   
<? } ?>
//这完全可以:
document.getElementById(“应答”+索引);
//但添加innerHTML后,一切都不起作用:
document.getElementById(“答案”+索引).innerHTML(“不正确”);

尝试将onsubmit=“return checkAnswers()”更改为onsubmit=“return false”,如果这样做有效,则表示javascript代码有问题
另外,你能展示你的js代码吗?试试看,而不是我认为可能没有问题。你介意发布js函数的代码吗?比如checkAnswers?试着把onsubmit=“return checkAnswers()”改为onsubmit=“return false”,如果这样做有效,就意味着你的javascript代码出了问题
另外,你能展示你的js代码吗?试试看,而不是我认为可能没有问题。你介意发布js函数的代码吗?例如,检查答案?