为什么我的回归不起作用?

时间:2013-08-08 17:21:28

标签: php javascript html validation dom

我刚开始像5-10分钟前一样开始学习JS,有人告诉我尝试创建一个基本的验证功能,但它似乎并不像想要的那样工作。它检查字段是否为空,该部分是否有效。但是检查它是否有内容并继续运行代码不会。

我的表格:

echo '<form action="index.php?action=getHashedText" method="post"     name="formHash">
        <br/><textarea name="text" rows="4" cols="50" placeholder="Add your text/pharse/word which you want hashing here." autofocus></textarea><br/>
        <button type="button" name="button" onclick="return validate();">Hash</button>';

function validate():

    <script>
    function validate() {
        with (window.document.formHash) {
            if (formHash.text.value === "") {
                    alert('Field is empty!');   
                    return false;
            } else {
                    return true;
            }    
        }  
    }
    </script>

1 个答案:

答案 0 :(得分:4)

问题是你正在使用一个没有提交表格的按钮(无论你的js如何),改变这个dom:

<button type="button" name="button" onclick="return validate();">Hash</button>

对此:Fiddle

<input type="submit" name="button" value="Hash" onclick="return validate();" />

或者您只需在type="submit"上添加<button>(HT @RocketHazmat):Fiddle

<button type="submit" name="button" onclick="return validate();">Hash</button>

或者您可以一起移除type上的<button>,因为默认typesubmit(HT @FabrícioMatté):Fiddle

<button name="button" onclick="return validate();">Hash</button>

此外,稍微偏离主题但我会习惯避免将javascript onclicks直接放在你的元素上。您可以改为创建侦听器:addEventListener