amp;#39;Object is not a functionamp;#39; - onclick event(amp;#39;对象不是函数amp;#39;-onClick事件)
本文介绍了&;#39;对象不是函数&;#39;-onClick事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我开始之前,否,我找不到分号问题,并且我没有向函数传递任何值。
当我尝试从控制台执行函数"login()"时,它工作得很好,但是当我单击一个HTML输入按钮来调用它时,我得到"未捕获的TypeError:Object不是一个函数"。顺便说一下,这是Chrome的。
var aj=new XMLHttpRequest();
var loginf=document.forms["login"];
var regf=document.forms["reg"];
function login(){
var errors=document.getElementById("login_err");
var errs=[];
var uname=loginf['uname'];
var pass=loginf['pass'];
var unameVal=uname.value;
var passVal=pass.value;
if(unameVal.length<4 && unameVal.length>0){
errs.push("Username too short. Try again please.");
}
else if(unameVal.length>18){
errs.push(innerHTML="Username is too long. Try again please.");
}
else if(unameVal.length==0){
errs.push("Please enter a username.");
}
if(passVal.length<8){
errs.push("Password too short. Try again, please.");
}
else if(passVal.length>30){
errs.push("Password is too long. Try again please.");
}
if(errs.length==0){
aj.onreadystatechange=function(){
if(aj.readyState>=4 && aj.status==200){
if(aj.responseText=="suc"){
window.location="/new.php";
}
}
}
aj.open("POST","/inc/php/core.php",false);
aj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
aj.send("login=true&data="+data);
}
else{
errors.innerHTML="<ul>";
for(var x=0;x<errs.length;x++){
errors.innerHTML+="<li>"+errs[x]+"</li>";
}
errors.innerHTML+="</ul>";
}
}
function reg(){
}
然后按输入按钮..
<input type="button" class="submit" value="Log in" style="width:25%" onclick="login();"/>
我看不出代码有什么问题。
如果您能在此代码中找到Waldo,请提前表示感谢。
jsFdle此处:http://jsfiddle.net/6sa7M/2
登录
原来函数名"推荐答案"既是对窗体的引用,也是对函数的引用。
我把"login()"改成"loginUser()",在控制台输入"login",返回表单,确实有冲突。
再次感谢您的帮助,特别感谢Marc的真实答案。
这篇关于&;#39;对象不是函数&;#39;-onClick事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:&;#39;对象不是函数&;#39;-onClick事件


猜你喜欢
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Fetch API 如何获取响应体? 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01