0

我正在使用弹出窗口并在其中应用表单。现在我希望使用 javascript 验证我的控件。但是,每当我尝试提交表单时,它根本不会验证我的表单字段,而只是提交页面

我的js代码如下:

function validateForm()
 {  
    var regex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
    var uname = document.getElementById('user_name').value;
    if(uname=="")
    {
        alert("You cannot leave the email field empty");
        return false;
    }
    else if(uname.search(regex) == -1)
    {
        alert("Invalid email address format");
        return false;
    }
    else
    {
        return true;
    }
    return true;

 }

我的 HTML div 代码如下所示。我使用了 div 因为我的弹出窗口仅从该 div 加载:

<div id="logincontent">
<div class="form-box-top">
    <div class="form-box-bottom">
    <?php echo $this->Form->create('User',array('controller' => 'users', 'action' => 'login', 'id'=>'login', 'name'=>'login','onsubmit'=>'return validateForm();'));?>
        <div class="form-box-middle">
            <div class="login-form">
                <div class="re-title3">
                    <a class="pass" onclick="forget();" href="#">forgot password</a>
                </div>
                <div class="input-row">
                    <label>EMAIL</label>                    
                    <?php echo $this->Form->input('username', array('label' => '','class'=>'required','style'=>'margin: -5px 0px 0px 24px;','id'=>'user_name')); ?>
                </div>
                <div class="input-row"> 
                    <label>PASSWORD</label>
                    <?php echo $this->Form->input('password', array('type'=>'password','class'=>'required','label' => '','style'=>'margin: -5px 0px 0px 24px;')); ?>
                </div>
            </div>
            <div class="button_3">
                <?php echo $this->Form->submit('',array('label' => '','class'=>''));?>
            </div>
            <div class="button_3_1">
            <a style="background: url(<?php echo $this->webroot       ?>/images/registor-bt2.png) no-repeat left top;
float: left;border: 0px;width: 236px;height: 47px;" onclick="register()"; href="#"></a>
            </div>
            <div class="cr"></div>
        </div>
    <?php echo $this->Form->end(); ?>
    </div>
</div>

现在,每当我提交表单时,我都希望我的字段由 js 函数验证

我尝试了很多,但不知道它会产生恶意结果或无法预测的结果。

任何建议都将受到欢迎和赞赏..

提前谢谢....

4

1 回答 1

1

如果您还没有使用它,请安装 firebug。

我建议使用JQuery UI 对话框 -> modal form & validation

如果您不想使用它,您可能至少要查看第 16 行提供的正则表达式代码。

于 2012-11-03T12:17:07.443 回答