提交看不到返回false;

时间:2013-10-08 06:35:40

标签: javascript jquery forms submit

我知道我必须添加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

功能上的问题,因为当我更换功能只是提醒时,它很好

3 个答案:

答案 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;
    });
});