Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript成功消息消失_Javascript_Firebase - Fatal编程技术网

JavaScript成功消息消失

JavaScript成功消息消失,javascript,firebase,Javascript,Firebase,HTML按钮: <button type="submit" class="btn btn-default" id="addBtn" onclick="addfunction();">Add</button> } 这是验证代码 $(function () { $("#title_span").hide(); var error_title = false; $("#TitleInput").focusout(function () { Title_valida

HTML按钮:

<button type="submit" class="btn btn-default" id="addBtn" onclick="addfunction();">Add</button>
} 这是验证代码

$(function () {
$("#title_span").hide();

var error_title = false;

$("#TitleInput").focusout(function () {
    Title_validation();
});


function Title_validation() {
    var title = $("#TitleInput").val();

    if (title == "") {
        $("#title_span").html("wrong input");
        $("#title_span").show();
        error_title = true;
    }
    else {
        $("#title_span").hide();
    }

}


$("#my_form").submit(function () {
    error_title = false;

    Title_validation();

    if (error_title == false) {
        return true;
    }
    else {
        return false;
    }

});
}))


我的问题是,当我点击add按钮时,“done”消息立即消失,因为刷新,我希望消息出现几秒钟,然后刷新页面。我该怎么做?知道我试图使用设置超时,但它不起作用。

type=“submit”
更改为
type=“button”
type=“submit”
更改为
type=“button”
如果您的按钮必须提交表单,请删除
type=“submit”
,将
标记更改为
,并将代码更改为以下内容。您还必须在表单中添加ID:

<script>
addfunction() {

    var title = document.getElementById("TitleInput").value;

var ID = firebase.database().ref().child('emp').push().key;

if (user != null) {
    userid = user.uid;

    var Dataa = {
        ID: ID,
        title: title,
    };

    var updates = {};
    updates['/emp/' + ID] = Dataa;
    var returnUpdate = firebase.database().ref().update(updates);

    if (returnUpdate) {
        var mess = document.getElementById("confirm_mess");
        mess.setAttribute("class", "bg-success h4");
        mess.setAttribute("style", "padding: 1%; margin: 1% 9% 0 35%");
        mess.innerHTML = "done";

    }
setTimeout(function () { //wait 5 seconds
document.getElementById(yourForm).submit; //submit your form
    }, 5000);
}

}
</script>

?>

如果您的按钮必须提交表单,请删除
type=“submit”
,将
标记更改为
,并将代码更改为以下内容。您还必须在表单中添加ID:

<script>
addfunction() {

    var title = document.getElementById("TitleInput").value;

var ID = firebase.database().ref().child('emp').push().key;

if (user != null) {
    userid = user.uid;

    var Dataa = {
        ID: ID,
        title: title,
    };

    var updates = {};
    updates['/emp/' + ID] = Dataa;
    var returnUpdate = firebase.database().ref().update(updates);

    if (returnUpdate) {
        var mess = document.getElementById("confirm_mess");
        mess.setAttribute("class", "bg-success h4");
        mess.setAttribute("style", "padding: 1%; margin: 1% 9% 0 35%");
        mess.innerHTML = "done";

    }
setTimeout(function () { //wait 5 seconds
document.getElementById(yourForm).submit; //submit your form
    }, 5000);
}

}
</script>

?>

@Fatima36请给我看一下您的侧面编码,而不仅仅是按钮。这将有助于找到解决方案。并尝试将标记更改为我上面写的。此解决方案停止刷新,我希望在消息出现后刷新页面@Sentry@Fatima36请给我看一下您的侧面编码,而不仅仅是按钮。这将有助于找到解决方案。并尝试将标记更改为我上面写的。此解决方案停止刷新,我希望在消息出现后刷新页面@Sentry您提到消息因页面刷新而消失。但是您共享的代码没有显示页面刷新是如何触发的。这使得很难帮助您延迟刷新。一般方法与Sentry发布的方法类似,但请提供一个更具针对性的答案。我更改了代码并添加了验证代码,这可能会触发刷新@FrankvanPuffelenIt,但仍然很难确定出错的原因。但是有一件事你应该防止你的点击处理程序中的默认行为<代码>$(“#我的表格”).submit(函数(e){e.preventDefault()。也可以看到。您提到由于页面刷新而导致消息消失。但您共享的代码没有显示页面刷新是如何触发的。这使您很难延迟刷新。一般方法与Sentry发布的方法类似,但请提供一个更为定制的答案。我更改了代码并添加了验证代码,这可能是触发刷新@FrankvanPuffelenIt的原因,但仍然很难确定出错的原因。但是您应该防止单击处理程序中的默认行为。
$(“#我的表单”).submit(函数(e){e.preventDefault();
。另请参阅。
<?php
if (isset($done)) {
echo "<script>your script</script>"; //or do whatever you want if the var is true
}