【问题标题】:JavaScript Validation of form issues with return false and selecting via classJavaScript 验证表单问题,返回 false 并通过类选择
【发布时间】:2017-09-14 06:55:13
【问题描述】:

背景

在提交表单内容(或输入值)之前,我尝试使用 JavaScript 函数验证一个表单。我目前遇到 3 个问题:

问题

  • 我正在尝试通过 JavaScript 显示一个名为“语音气泡”的<div>,但是(无论出于何种原因),这不起作用。

  • 即使我试图通过我的 JavaScript 函数“返回 false”,我的表单的提交按钮仍然继续执行。

  • 此外,我想使用一个类来验证这个表单,而不是 一个 id(即:getElementsByClassName vs.getElementByID) 'getElementsByClassName' 在尝试更改 显示类的类型,无论出于何种原因。


HTML

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" name="comment" id="comment-form" method="post" onsubmit="return validateForm();">
    <input type="text" name="author" id="author" placeholder="Your name (Required)" autocomplete="on" tabindex="1" class="txtinput" value="<?php echo $comment_author; ?>">
    <div id="speech-bubble">
        <img src="<?php bloginfo('template_directory'); ?>/images/exc_point_24.png">&nbsp;Please enter a name
    </div>
    <input type="submit" name="submit" id="submit-button" tabindex="5" value="<?php _e("Submit!", "byrne-systems"); ?>" /></form>

Javascript

function validateForm() {
    var name = document.getElementById('author').value;

    if (name==null || name=='') {
        document.getElementById('speech-bubble').style.display='block';
        return false;
    }
}

【问题讨论】:

  • 你应该发布生成的 HTML

标签: javascript html forms validation


【解决方案1】:

您正在为字段 id=author 添加一些值,所以我猜这就是您的表单提交的原因。

你考虑过使用 jQuery 吗?这将使您的生活更轻松 IMO。 这是一个非常流行的验证插件:http://bassistance.de/jquery-plugins/jquery-plugin-validation/

【讨论】:

  • 谢谢法比,我现在觉得很傻。是的,我在那里的代码回忆了上次提交的评论,这是我的一个愚蠢的错误,现在这个问题已经解决了。我很感激,谢谢!
猜你喜欢
  • 2011-09-12
  • 2017-05-17
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多