【问题标题】:Input with submit wont execute If/else statement带提交的输入不会执行 If/else 语句
【发布时间】:2015-08-28 19:36:42
【问题描述】:

这看起来很简单,但我无法让它工作。我在网页设计方面没有经验,但以下是:

我正在尝试使输入栏(如搜索框)在输入特定文本时将您重定向到其他页面或进行其他操作。

这是我目前所拥有的。

<!DOCTYPE html>
<html>
<body>
        <form method="post">
            <input id="search" type="text"/>
            <button onclick="return abc()">test</button> 
        </form>
<script>

function abc() {
    var textt = document.getElementById("search"); 
    if (textt.value == "test") {
        window.location.assign("http://www.google.com")
    } 
}
</script>
</body>

</html>

http://jsfiddle.net/uvnyd8vz/1/

这只是刷新页面而已。有任何想法吗?谢谢!

【问题讨论】:

    标签: javascript html redirect search


    【解决方案1】:

    将值作为字符串进行比较 喜欢 textt.value =="test"; 也在函数里面写 event.preventDefault(); 这将停止提交按钮的提交动作 还要指定 else 条件,即

    else{return false;}
    

    【讨论】:

    • 天哪,这是一个愚蠢的错误,但修复并没有解决我的问题,它仍然刷新页面编辑:event.preventDefault();工作!非常感谢!
    • 你必须使用event.preventDefault();,否则return false
    • 另外,当我在我的主网站中添加此代码时,它不起作用并在控制台中提供Uncaught TypeError: Cannot read property 'preventDefault' of undefined(…)in 控制台,有什么想法吗?
    • 你使用的是纯 JavaScript 还是 JQuery?
    • 普通 js,didint 甚至查看 JQuery 但它只会在我手动在控制台中键入函数时出错,如果我通过提交调用该函数,它只会刷新页面
    【解决方案2】:

    添加 event.preventDefault();功能解决了我的问题!谢谢

    【讨论】:

    • 我做到了,它可能没有出现,因为我还没有 15 声望!
    猜你喜欢
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多