1

我在 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>';

函数验证():

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

1 回答 1

4

问题是您使用的按钮无论如何都没有提交表单(无论您的js如何),请更改此dom:

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

为此:小提琴

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

或者你可以添加type="submit"你的<button>(HT @RocketHazmat):小提琴

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

或者你可以把type<button>全部一起删除,因为默认typesubmit(HT @FabrícioMatté):小提琴

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

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

于 2013-08-08T17:26:50.863 回答