如何解决?我一整天都在苦苦思索 - 看其他帖子并尝试不同的方法。非常感谢任何帮助......〜新手
此行javascript上的setTimeout()会破坏代码 - 导致为自定义URL传递的空值。
计划是
......被困在#3。页面暂停4秒,但没有值传递给URL,它会重定向到主目录。
有问题的代码:
<form id="type_form" action="html-echo.php" method="post" onsubmit="setTimeout(function() { location.href='http://localhost:8888/vanity/site/' + document.getElementById('nav').value; return false; }, 4000);">
<input id="nav" maxlength="10" type="text" name="nav" autofocus placeholder="TYPE YOUR CHOICE... (spelling counts)">
<script>
if (!("autofocus" in document.createElement("input"))) {
document.getElementById("nav").focus();
}
</script>
<button class="send" type="submit">SEND</button></form>
谢谢!
答案 0 :(得分:1)
尝试更像这样
<form id="type_form" action="html-echo.php" method="post">
<input id="nav" maxlength="10" type="text" name="nav" placeholder="TYPE YOUR CHOICE... (spelling counts)" autofocus />
<button class="send" type="submit">SEND</button>
</form>
<script type="text/javascript">
if (!( document.activeElement.id || document.activeElement.id == 'nav')) {
document.getElementById("nav").focus();
}
document.getElementById('type_form').onsubmit = function() {
setTimeout(function() {
document.location.href = 'http://localhost:8888/vanity/site/' + document.getElementById('nav').value;
}, 4000);
return false;
}
</script>
此外,在timeOut中返回false并不会阻止表单提交,您必须返回错误的页面。
答案 1 :(得分:0)
你可以试试这个:
<form id="type_form"
action="html-echo.php" method="post"
onsubmit="var redir='http://localhost:8888/vanity/site/'
+ document.getElementById('nav').value;
setTimeout(function() { location.href=redir; }, 4000);">