Javascript 设置窗体节上的超时 函数f(){ var refresh=document.getElementById('form'); 计时器=设置超时('f()',1000); 如果(计时器==10){ 清除超时(计时器); refresh.src='newurl'; } }
填表 发送 基于上述代码,我需要这样做: 页面加载10秒后,用“新URL”替换页面中的表单部分Javascript 设置窗体节上的超时 函数f(){ var refresh=document.getElementById('form'); 计时器=设置超时('f()',1000); 如果(计时器==10){ 清除超时(计时器); refresh.src='newurl'; } },javascript,Javascript,填表 发送 基于上述代码,我需要这样做: 页面加载10秒后,用“新URL”替换页面中的表单部分 由于某种原因,它不起作用。任何帮助都将不胜感激。提前感谢设置超时不会返回值,因此您的计时器值不能达到10。 您应该创建两个函数,f以10000的超时开始,然后启动一个remplace()函数来完成您的工作 大概是这样的: <!DOCTYPE html> <head> <base target="_top"> <script type="text/
由于某种原因,它不起作用。任何帮助都将不胜感激。提前感谢设置超时不会返回值,因此您的计时器值不能达到10。 您应该创建两个函数,f以10000的超时开始,然后启动一个remplace()函数来完成您的工作 大概是这样的:
<!DOCTYPE html>
<head>
<base target="_top">
<script type="text/javascript">
function f() {
var refresh = document.getElementById('form');
timer = setTimeout('f()', 1000);
if (timer == 10) {
clearTimeout(timer);
refresh.src = 'New URL';
}
}
</script>
</head>
<body onload="f()">
<p>Complete the form</p>
<form id="form" action="URL" target="_self" method="POST">
<div><input type="text" placeholder="name" required name="Name"></div>
<div><input type="email" placeholder="email" required name="E-mail"></div>
<div><button type="submit">Send</button></div>
</form>
</body>
</html>
问题是,
timer==10
永远不会发生。定时器变量是用于取消定时器的参考。这是固定版本
function f(){
var refresh = document.getElementById('form');
timer = setTimeout('replace()', 10000);
}
function replace(){
var refresh = document.getElementById('form');
refresh.src = 'New URL';
}
.内容{
颜色:红色;
字体大小:24px;
}
填表
发送
这是新内容!
函数f(){
const elementToHide=document.getElementById(“表单”);
elementToHide.style.display='none';
const elementToShow=document.getElementById(“内容”);
elementToShow.style.display='block';
}
常数timerRef=setTimeout(f,1000*10);
这里是更新后的链接,您可以查看
这里还有一个链接,你可以在这里找到
编辑:
对于内容的更改,我将隐藏表单并显示新内容,您可以像其他元素一样设置样式。您的代码有几个问题:
函数init(){
var refresh=document.getElementById('form');
定时器=设置超时(hideForm,10000);
}
函数hideForm(){
var form=document.getElementById('form');
var newURL=document.getElementById('newURL');
表单.classList.add(“隐藏”);
newURL.classList.remove(“隐藏”);
}
。隐藏{
显示:无;
}
填表
发送
新网址
感谢您的关注。我试过了,但什么也没发生。谢谢你的关注。是的,它可以工作,但是否需要用src替换innerText以打开表单部分@Cedomir RackovFor内的另一个页面,因为您必须用iframe之类的东西替换整个表单。您是要替换页面上的表单还是要将用户重定向到另一个页面?是的,我以前尝试过。好的,有没有办法在内部文本中添加更多的html和css@Cedomir Rackov“您想替换页面上的表单还是想将用户重定向到另一个页面?”只需在10秒后替换表单即可
<!DOCTYPE html>
<html>
<head>
<style>
.content {
color: red;
font-size: 24px;
}
</style>
</head>
<body>
<p>Complete the form</p>
<form id="form" action="URL" target="_self" method="POST">
<div><input type="text" placeholder="name" required name="Name"></div>
<div><input type="email" placeholder="email" required name="E-mail"></div>
<div><button type="submit">Send</button></div>
</form>
<div id="content" style="display: none;" class="content">
This is new content!
</div>
<script type="text/javascript">
function f() {
const elementToHide = document.getElementById("form");
elementToHide.style.display = 'none';
const elementToShow = document.getElementById("content");
elementToShow.style.display = 'block';
}
const timerRef = setTimeout(f, 1000 * 10);
</script>
</body>
</html>