php - 为什么我的返回不起作用?

标签 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>';

函数验证():

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

最佳答案

问题是您使用的按钮无论如何都不会提交表单(无论您的 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

关于php - 为什么我的返回不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18132159/

相关文章:

php - 检查复选框状态并基于它执行 PHP 查询

javascript - 在文本框中输入内容后,jquery 函数不起作用

html - 为什么 CSS3 边框半径不适用于 webkit 浏览器(Chrome 和 Safari)上的图像?

html - 如何完全去除填充的一侧?另外,如何将横幅与同一表格行中左对齐的另一个图像居中?

php - 使用 IF 将 sql 查询合并为一个

php - MySQL在关联表中引用第三个表进行计数

javascript - HTML5 服务器发送的事件不是实时的?

javascript - 使用 AngularJS 执行 $http.get

html - Firefox 中的等高列 (CSS)

PHP cURL 403 禁止错误 (Mackolik.com)