2

背景

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

问题

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

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

  • 此外,我想使用类而不是 id(即:getElementsByClassNamevs. 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;
    }
}
4

1 回答 1

0

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

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

于 2013-05-06T18:01:16.243 回答