JavaScript防止在返回false的情况下重新加载

时间:2019-06-15 05:48:59

标签: javascript html

我的html页面的表单可以在onsubmit调用javascript函数检查某些值:

html:

<form onsubmit="isempty();" role="form">

isempty():

function isempty() {
    var r_1;
    var r_2;
    var r_3;


    r_1 = document.getElementById("t_select");
    r_2 = document.getElementById("t_descr");
    r_3 = document.getElementById("t_terms");

    if((r_1.value == "Please select...") || (r_2.value == "") || (r_3.checked == false)) {
        alert("Please fill in all the form fields including the terms of use to proceed with the publication");
        return false;
    } else {
        //OK
    }

}

所有工作都已完成,唯一的问题是,如果检查失败,页面显示警报将重新加载,并清除所有预览插入的数据。 发生故障时如何显示警报,然后冻结页面(不重新加载)?

非常感谢

2 个答案:

答案 0 :(得分:2)

您应该在onSubmit事件中返回一个值以控制提交。

<form onsubmit="return isempty();" role="form">

然后让函数返回true或false进行控制。

答案 1 :(得分:0)

使用event参数将其用于防止浏览器的默认行为,在这种情况下,您不会丢失数据

 isEmpty(event) {
   event.preventDefault()
   // do whatever you were to do now
}