使用Javascript。当触发按钮的onclick时(通过按按钮),我得到一个错误。错误是:
Uncaught TypeError: accept is not a function at HTMLInputElement.onclick
这是按钮(及其附近)的HTML:
<input type="button" value="Accept Offer" onclick="accept()" />
<input type="button" value="Cancel" onclick="cancelAccept()" />
Cancel
按钮可以正常工作。
这是accept
JS函数:
function accept() {
//check that user logged in
api.me()
.then( (res) => { //logged in, accept offer
acceptOffer(res.user);
}, (err) => {
console.log("error:",err);
alert("Authentication error. Please logout and in again");
cancel();
});
}
将javascript导入(?)在html页面顶部的head标签中。
api.me()
是对库的调用。
答案 0 :(得分:3)
看来accept
这个名字引起了麻烦。参见this jsfiddle。
重命名您的函数并将其放在全局范围内。
答案 1 :(得分:2)
请尝试更改函数的名称,因为JS可能会误解“ accept”(这是html属性)。
答案 2 :(得分:2)
用按钮标签替换输入 就像这个演示
// The XStream should be configured in such a way that a security solution is provided
@Bean
public Serializer serializer(XStream xStream) {
return XStreamSerializer.builder().xStream(xStream).build();
}
function accept() {
//check that user logged in
api.me()
.then( (res) => { //logged in, accept offer
acceptOffer(res.user);
}, (err) => {
console.log("error:",err);
alert("Authentication error. Please logout and in again");
cancel();
});
}
答案 3 :(得分:0)
下面的示例将产生一条错误消息,提示接受不是函数。
function accept(){
console.log("I accept");
alert(document.getElementsByTagName("input")[0].accept);
}
function cancelAccept(){
console.log("I cancel");
}
console.log(accept);
<input type="button" value="Accept Offer" onclick="accept()" accept="text/html,image/gif" />
<input type="button" value="Cancel" onclick="cancelAccept()" />
发生的事情是,由于input元素具有一个accept属性,该属性为用户定义的函数accept()创建了冲突。
函数使用预先存在的propertySection共享名称
有时在上课时,您可能拥有一个属性和一个函数 同名。调用函数后,编译器认为 该功能不再存在。
来源:here。