日期:2014-05-17  浏览次数:20650 次

为什么jquery中 e.preventDefault() 这个方法不起作用
尝试着学习jquery,做了个小练习,完全按照书本上的。可是,发现当点击submit提交按钮后,在没有满足输入条件的情况下,也提交了。说明函数preventDefatult没有起作用,请问为什么,如何改正。
JScript code

<script type="text/javascript" language="javascript">
        //<!-- 1 只允许输入数字 -->
        $(document).ready(function()
        {
            $('.error').hide();
            $('.submit').click(function(event)
            {
                var data=$('.infobox').val();
                var len=data.length;
                var c=0;
                for(var i=0; i<len; i++)
                {
                    c=data.charAt(i).charCodeAt(0);
                    if(c==45 && i==0)   //允许负值;
                    {
                        continue;
                    }
                    if(c<48 || c>57)
                    {
                        $('.error').show();
                        event.preventDefatult();
                        break;
                    }
                    else
                    {
                        $('.error').hide();
                    }
                }
            });
        });
        
    </script>



HTML code
<form id='signup' method="post" action="">

    <div>
        <span class="label">
            Enter Age
        </span>
        <input type="text" class="infobox" />
        <span class="error">Only numericals allowed</span>
    </div>
    <input class="submit" type="submit" value="Submit" />

</form>


谢谢,在线等。

------解决方案--------------------
拼写错误 event.preventDefatult();
应该是
event.preventDefault();