我知道我必须添加return false;在onsubmit中调用的函数(我将它添加到函数中,并在HTML中添加onsubmit =“”)。但它不起作用...按Enter键或单击“提交”按钮后页面刷新。
JavaScript生成的表单:
AnswersHTML += "<div><form onsubmit='cheking(this," + a + "," + b + ", this); return false;'><input class='put' type='text' size='40'><input type='submit' value='Проверить'></form>
和功能
function checking(answer, nums, numq, what) {
var usr = answer;
if (isNaN(answer)) {
usr = answer.value;
if (answer.value.length == "") {
usr = "Вы ничего не ввели!"
}
else {
answer = answer.value.toLowerCase();
}
}
if (answer == correct[nums][numq]) {
$(what).parent().parent().append("<br><span class='right'>Ответ: " + usr + "<br>Правильно!</span>").slideDown();
$(what).parent().parent().find(".put").remove();
$("#board").animate({ backgroundColor: '#2ecc71'});
$("#board").animate({ backgroundColor: '#f1c40f'}, 1000);
if (isPhysics[nums][numq]) {
physics++;
$("#presult").text(physics);
}
else {
life++;
$("#lresult").text(life);
}
}
else {
$("#board").animate({ backgroundColor: '#e74c3c'});
$("#board").animate({ backgroundColor: '#f1c40f'}, 1000);
var desciptionToWrong = "<br>" + description[nums][numq];
if (description[nums][numq] == false) {
desciptionToWrong = ""
}
$(what).parent().parent().append("<br><span class='wrong'>Ответ: " + usr + "<br>Неправильно!" + desciptionToWrong + "</span>")
$(what).parent().parent().find(".put").remove();
$(what).remove(".pressenter");
}
return false;
}
对不起我可能令人作呕的代码
以下是整页https://rawgithub.com/ruslankh/Kurchatovy/master/index.html
功能上的问题,因为当我更换功能只是提醒时,它很好
答案 0 :(得分:0)
它可能是由于类型。函数调用中的拼写错误会导致错误并且调用将转到服务器。
更改
'cheking(this," + a + "," + b + ", this);
到的
'checking(this," + a + "," + b + ", this);
答案 1 :(得分:0)
你的内联onclick有一个拼写错误,你从功能名称中删除了一个c。此错误可能会在单击处理程序到达return语句之前终止。
答案 2 :(得分:0)
试试这个,
AnswersHTML += "<div><form data-a='"+a+"' data-b='"+b+"' class='myform'><input class='put... "
<强> SCRIPT 强>
$(function(){
$(document).on('submit','form.myform',function(){
checking(this, $(this).data('a'), $(this).data('b'), this);
return false;
});
});