Javascript 我怎样才能自动隐藏信息;您已经订阅了我们的通讯;过一会儿?

Javascript 我怎样才能自动隐藏信息;您已经订阅了我们的通讯;过一会儿?,javascript,asp.net,ajax,contact-form,ajaxform,Javascript,Asp.net,Ajax,Contact Form,Ajaxform,“您已订阅我们的新闻稿”消息本身并不是自动隐藏的,每次需要在页面中输入新条目时,我都必须刷新页面,并且我希望表单区域为空 函数doSubscribe(){ var subscriberEmail=document.getElementById(“subscriberEmail”).value; var ajax=new-XMLHttpRequest(); open(“POST”,“subscribe newsletter.php”,true); setRequestHeader(“内容类型”、

“您已订阅我们的新闻稿”消息本身并不是自动隐藏的,每次需要在页面中输入新条目时,我都必须刷新页面,并且我希望表单区域为空


函数doSubscribe(){
var subscriberEmail=document.getElementById(“subscriberEmail”).value;
var ajax=new-XMLHttpRequest();
open(“POST”,“subscribe newsletter.php”,true);
setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
ajax.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
document.getElementById(“订阅邮件”).innerHTML=“您已订阅我们的新闻稿。”;
}
};
send(“subscriberEmail=“+subscriberEmail”);
返回false;
}

应该怎么做呢?消息自动隐藏而不刷新页面,电子邮件区域也应该为空。

您可以使用setTimeout(此示例有2.5秒延迟)处理该问题,您可以将innerHTML设置为空字符串,或隐藏,或从DOM中删除,请尝试以下操作:

let elem=document.getElementById(“订阅消息”);
函数showMessage(){
elem.innerHTML=“您已订阅我们的时事通讯。”;
设置超时(()=>{
elem.innerHTML='';
//elem.style.display='none';(隐藏)
//elem.remove();(从DOM中删除元素)
}, 2500)
}
showMessage()

您需要对您的
onreadystatechange
功能进行一些小的更改:

现在

if (this.readyState == 4 && this.status == 200) {
      document.getElementById("subscribe-message").innerHTML = "You have been subscribed to our newsletter.";
}
大多数都是

if (this.readyState == 4 && this.status == 200) {
    var element = document.getElementById("subscribe-message");
    element.innerHTML = "You have been subscribed to our newsletter.";
    setTimeout(() => {
        element.innerHTML = "";
    }, 3000) // Put your delay in milliseconds ex: 3 seconds is 3000 milliseconds
}

setTimeout()
方法在指定的毫秒数后调用函数或计算表达式。该函数只执行一次。

是的,它适用于消息。。太好了。。。。但我也希望新条目的电子邮件字段为空…如果您能告诉我重置您的输入元素将是greatto,请尝试:subscriberEmail.value=“”;你能用代码告诉我怎么做吗?我不知道在哪里使用它。就在showMessage()函数体的顶部,在上面:elem.innerHTML=“你已经订阅了我们的新闻稿。”;谢谢动机达成…………感谢您的帮助……我也想在一段时间后清除该电子邮件字段,那么我该怎么做呢?您必须通过
document.getElementById
获取电子邮件字段,并将attr值设置为空字符串:
document.getElementById(“email”).value=”“
别忘了定义
id=“email”
attr用于您的电子邮件字段
if (this.readyState == 4 && this.status == 200) {
    var element = document.getElementById("subscribe-message");
    element.innerHTML = "You have been subscribed to our newsletter.";
    setTimeout(() => {
        element.innerHTML = "";
    }, 3000) // Put your delay in milliseconds ex: 3 seconds is 3000 milliseconds
}