2 lhs472194266 lhs472194266 于 2016.02.06 01:11 提问

帮我看看这句js代码,submit();

图片说明

这个submit();怎么拼错了。也有跳转的效果啊。

<!DOCTYPE html>
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" type='text/css' href='__CSS__/basic.css'>
        <!--<script src="__JS__/basic.js"></script>-->
        <script>
            function sub() {
                //var oForm= document.myForm;       //竟然可以这样直接获取指定name的element节点。
                var oU = document.myForm.username;  //不能直接document.username;获取。
                var oP = document.myForm.password;
                var oV = document.myForm.verify;
                if (oU.value == '' || oP.value == '' || oV.value == '') {
                    alert("用户名或密码、验证码不能为空");
                } else {
                    // return true;
                    document.myForm.submit()    //刚又仔细看了下帮助文档,发现文档里这里没带‘分号’,那么拼写错误将不会跳转。
                    // document.getElementById("myForm").submit();
                    //HTML DOM Form 对象,submit()是这个对象的方法。
                    //该方法提交表单的方式与用户单击 Submit 按钮一样,但是表单的 onsubmit 事件句柄不会被调用。
                }
            }
        </script>
    </head>
    <body>
        <form action='__URL__/do_login' method='post' name='myForm'>
            用户名:<input type="text" name="username"/><br/>
            密&nbsp;码:<input type="password" name='password'/><br/>   
            验证码:<input style='line-height: 16px;' type='text' name='verify'/>
            <!--因为IE对于图片会先去缓存里查找图片,所以"?"+Math.random'-->
            <img style='vertical-align: middle;' src='__APP__/Public/verify' onclick='this.src = "__APP__/Public/verify" + "?" + Math.random()'/><br/>
            <!--提交后,可以在$_SESSION里看到有个verify的元素,即验证码的md5-->
            <!--<input type="submit" name='submit'/>-->
            <img src="__PUBLIC__/Image/login.gif" onclick="sub()">
        </form>
    </body>
</html>


3个回答

caozhy
caozhy   Ds   Rxr 2016.02.06 01:31
已采纳

你完整的html代码怎么写的。

如果本身表单会跳转,不执行它也会跳转。你写错了不报错,估计你这些代码都没有执行到。

lhs472194266
lhs472194266 不是分号的问题,而是我将 getElementsByName 写错了,getElementById,嘿嘿
接近 2 年之前 回复
lhs472194266
lhs472194266 执行到了,JS中的FORM对象,有个submit()方法。测试了下,当写错了时也竟然成功提交了
接近 2 年之前 回复
ImagineCode
ImagineCode   2016.02.15 17:16

form表单有一个默认的事件。

caozhy
caozhy   Ds   Rxr 2016.02.06 01:41

贴出完整的代码,帮你看看

lhs472194266
lhs472194266 我知道哪错了,嘿嘿!
接近 2 年之前 回复
lhs472194266
lhs472194266 加上分号 这些方法也都能正常执行的,例如form的reset()。只是这个submit 胡乱拼写 也会提交。
接近 2 年之前 回复
lhs472194266
lhs472194266 源码已贴。刚看了下帮助文档,发现那一句后面若不跟着结束符号 分号,怎么拼写错误不会执行。但是这算什么事啊。。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!