JavaScript成功消息消失
HTML按钮: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
<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
}