初学者Javascript - 对象不是一个函数

时间:2014-08-26 11:29:53

标签: javascript

嘿,伙计们在我的第一次Javascrip验证时捅了一下,但很早就被卡住了。我从JS调用onkeyup=""函数,但收到错误:

Object is not a function

代码:

<html>
    <head>
         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" ></script>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <h3> My Sign Up Form</h3>
        <form name="signup">
            <label>First Name<input type="text" name="fname" onkeyup="fname()"/></label><div id="fnameVal"></div><br>
            <label>Last Name<input type="text" name="lastname" onkeyup="fourchars();"/></label><div id="lnameVal"></div><br>
            <!--<label>Email<input type="text" name="email"/></label><div id="email"></div><br>
            <label>Password<input type="password" name="password"/><div id="password"></div></label><br>
            <label>ConfirmPassword<input type="password" name="confirmpassword"/><div id="confirmpassword"></div></label><br>-->
            <label><input type="submit" value="Submit"/></label> 
         </form>
    </body>
    <script>    
        function fname(){
            alert('jjjj');
        }
    </script>
</html>

5 个答案:

答案 0 :(得分:1)

您的功能名称与控件名称相同。即fname&amp; FNAME()

            <label>First Name<input type="text" name="fname" onkeyup="validateFname()"/></label><div id="fname"></div>

好的,试试这样的事情。

答案 1 :(得分:0)

将你的onkeyup替换为此。我知道它是相同的代码,但有时当你通过相同的代码从另一个站点重新代码时它可以工作。顺便说一句,如果我在网站上进行测试,它的工作正常。

onkeyup="fname()"

答案 2 :(得分:0)

将您的函数命名为与输入名称不同。

e.g。

<script>
    function valname(){
      alert('jjjj');
 }
</script>
</head>
<body>
    <h3> My Sign Up Form</h3>
    <form name="signup">

    <label>First Name<input type="text" name="fname" onkeyup="valname()"/></label><div id="fnameVal"></div><br>

答案 3 :(得分:0)

似乎fname是对表单中元素的引用。尝试更改函数名称或元素名称。

function fnameFunc() {
   alert('jjjj');
}

和HTML

<input type="text" name="fname" onkeyup="fnameFunc()"/>

答案 4 :(得分:0)

您可以在keyup上使用jquery

$(document).ready(function() {

$('body').on("keyup", "input[name=fname]", function() {
    alert($(this).val());
    // do your stuff
});


});

JSFIDDLE DEMO