2 u010862729 u010862729 于 2016.04.30 08:33 提问

表单验证脚本不起作用

add.jsp

 <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="shortcut icon" type="image/x-icon" href="../favicon.ico" />
<title>添加</title>
<link href="/IMS/css/css.css" rel="stylesheet" type="text/css">
<script src="/IMS/lib/ValidForm.js"></script>
<script src="/IMS/lib/MakeRequest.js"></script>
<script>
window.onload = initForm;

function initForm() {
     validForm(document.getElementById("add"));
     makeRequest(document.getElementById("aname"));
}
</script>
</head>
<body>
    <form action="" method="post" name="add" id="add">
    <input type="hidden" name="action" value="add">
            <table>
                <tr>
                    <td width="120" align="right">名称:</td>
                    <td width="180" align="left"><input name="aname" type="text" id="aname" autofocus="autofocus" date="Department?action=s&name=" class="reqd"></td>
                </tr>
                <tr>
                    <td align="right">权限:</td>
                    <td align="left"><input name="level" id="level" class="reqd"></td>
                </tr>
                <tr>
                    <td align="right">
                            <a href="index.jsp">返回</a>
                        </td>
                    <td align="left"><input name="add" type="submit" id="add" value="添加"></td>
                </tr>
            </table>
    </form>
</body>
</html>

ValidForm.js

function validForm(obj) {
    obj.addEventListener('submit', doit(tttt), false);
    function doit(obj) {
    var allGood = true;
    var allTags = obj.getElementsByTagName("*");

    for (var i = 0; i < allTags.length; i++) {
        if (!validTag(allTags[i])) {
        allGood = false;
        }
    }
    return allGood;

    function validTag(thisTag) {
        var outClass = "";
        var allClasses = thisTag.className.split(" ");

        for (var j = 0; j < allClasses.length; j++) {
        outClass += validBasedOnClass(allClasses[j]) + " ";
        }

        thisTag.className = outClass;

        if (outClass.indexOf("invalid") > -1) {
        thisTag.focus();
        if (thisTag.nodeName == "INPUT") {
            thisTag.select();
        }
        return false;
        }
        return true;

        function validBasedOnClass(thisClass) {
        var classBack = "";

        switch (thisClass) {
        case "":
        case "invalid":
            break;
        case "reqd":
            if (allGood && thisTag.value == "") {
            classBack = "invalid ";
            }
            classBack += thisClass;
            break;
        default:
            classBack += thisClass;
        }
        return classBack;
        }
    }
    }
}

2个回答

w172087242
w172087242   Ds   Rxr 2016.04.30 09:51

obj.addEventListener('submit', doit(tttt), false);这句话是有问题的;
addEventListener接收的第二个参数是function,而不是一个函数的执行结果;

所以需要把doit重写(给你提供个思路):
doit(tttt);

function doit(obj){
return function(){
//你的业务逻辑,这个才会在submit的时候执行
}
}

showbo
showbo   Ds   Rxr 2016.04.30 10:55

addEventListener IE8-不支持,而且你tttt变量也没有定义

obj.addEventListener('submit', doit(tttt), false);

===》
if(obj.addEventListener)
obj.addEventListener('submit', function(){doit(obj)}, false);
else if(obj.attachEvent)o.attachEvent('onsubmit', function(){doit(obj)});
else obj.onsubmit=function(){doit(obj)}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
调用一些表单验证函数主要用到blur()
keyup,focusin,change等事件 //表单输入及时验证          /* console.log($('input[name="partnername"]').val()); */                  $('#partnername').blur(function(){             checkChinese($('#partnerna
js错误--引发表单验证插件中的required属性失效,一些js功能失效
感觉body标签中代码没有错误,但就是单验证插件中的required属性失效,文件上传也失效。 解决:由于标点符号});缺失。F12在调试页中可以查看js错误提示,修正即可。
解决easyui的中form表单验证失效
//得到表单窗口中的form对象testForm = $('#form');//初始化表单中的验证器$('input[type!=&quot;hidden&quot;],select,textarea',testForm ).each(function(){ $(this).validatebox();});
springmvc使用JSR-303进行表单验证不生效的问题
很多人可能会跟我一样,在第一次使用springmvc的表单验证的时候,配置的model的验证策略,同时在controller中也用@Valid进行了注解,可最终表单提交的时候,却发现spring并没有对表单的输入进行验证!后来仔细阅读了spring in action的文档,才发现spring只是支持jsr-303验证,但却不提供jsr-303的实现,文档中提及了需要导入类如hibernate-v
ajax提交form表单,H5的required属性没起作用
1、 ajax提交form表单,required属性不起作用 错误代码如下<form id="order"> <input type="text" name="name" required /> <input type="submit" id="submit" /> </form><script> $("#submit").bind("click",function(){
BootstrapValidator表单前端验证,jsp下面安装无反应的解决方法
一、检查是否引入必要文件<link rel="stylesheet" href="/path/to/bootstrap/css/bootstrap.css"/> <link rel="stylesheet" href="/path/to/dist/css/bootstrapValidator.min.css"/><script type="text/javascript" src="/path/to
表单验证 脚本
/*表单验证函数*/ function validateForm() {  // 判断用户名是否有效 var x = document.forms["myForm"]["fname"].value; if (x == null || x == "") { alert("需要输入名字..."); return false; } // 判断密码是否有效 var y = docum
asp.net验证控件不起作用的解决办法
最近写程序一直出问题,以前一个站三几天就轻松搞定,现在一个模块经常搞半天,NND下午开发酷易化妆品商城(http://www.koyee.net)一个表单提交功能模块,本地任何问题都没有了,传到服务器上本以为没事了,后来一检查所有的验证控件都不起作用了,直接都提交过去了,郁闷,原以为程序被改错了,检查本地还是没任何问题,继续又传了一遍,在服务器上看还是不行;一下午啥也没干,百度、谷歌的查,
vue + element-ui 的表单验证失效问题
首先先描述写问题   我用的是element-ui 1.4 版本 做的一个后台管理系统,我在对用户进行添加的时候有个模态框里面有表单验证,在修改用户资料的时候也有一个表单验证。当我进来先点击了编辑用户资料的时候,在点击添加用户,发现表单验证失效了。我在每一次关闭的时候都重置了表单验证还是没用,后来只能上直接写了。下面是图如果有碰到这样的情况的童鞋 有好的解决方案可以分享给我下。我修改之后是自己写的...
JavaScript用户注册表单验证
function check(){if (document.form1.name.value == ""){alert("请填写您的用户名!");document.form1.name.focus();return (false);}var filter=/^/s*[.A-Za-z0-9_-]{5,15}/s*$/;if (!filter.test(document.form1.name.