Javascript 简单JS函数不工作
我一辈子都搞不明白为什么这不管用。在单选按钮更改中更改“添加到购物车”按钮是一个简单的函数,但每当我执行该函数时,它都会说这不是一个函数。我错过了什么Javascript 简单JS函数不工作,javascript,Javascript,我一辈子都搞不明白为什么这不管用。在单选按钮更改中更改“添加到购物车”按钮是一个简单的函数,但每当我执行该函数时,它都会说这不是一个函数。我错过了什么 <h2>Select a Payment Option:</h2> <form method="post" enctype='multipart/form-data'> <input type="radio" name="addtocart" id="fullpay" value="66"
<h2>Select a Payment Option:</h2>
<form method="post" enctype='multipart/form-data'>
<input type="radio" name="addtocart" id="fullpay" value="66" onclick="fullpay();" /><h3 style="color: #f57e20;">Full Payment - <s>$119.80</s> $79.95</s></h3>
<input type="radio" name="addtocart" id="payments" value="69" onclick="payments();" /><h3 style="color: #f57e20;">Payment plan - $26.65 / month for 3 months</h3>
<hr/>
<div id="cartbutton"></div>
</form>
选择付款选项:
全额付款-119.80美元79.95美元
付款计划-3个月内每月26.65美元
JS:
window.onload=function(){
功能全薪(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
职能付款(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
};
您正在“加载”处理程序函数中定义函数。这意味着函数是该处理函数的私有函数,因此它们在全局上下文中不可见
您可以通过为全局对象(
窗口
)上的属性指定引用来显式导出函数,或者最好在“加载”中使用.addEventListener()
处理程序设置事件处理,而不是标记中的旧式事件属性。您正在“加载”处理程序函数中定义函数。这意味着函数是该处理函数的私有函数,因此它们在全局上下文中不可见
您可以通过将引用指定给全局对象(
窗口
)上的属性来显式导出函数,或者最好在“加载”处理程序中使用.addEventListener()
来设置事件处理,而不是标记中的旧式事件属性。使您的函数成为全局函数:
window.onload = function(){
// functions here are not global
};
// functions here are global
function fullpay(){
var cartbutton = document.getElementById("cartbutton");
cartbutton.innerHTML = "<a href='/?add-to-cart=66' rel='nofollow' data-product_id='66' data-product_sku='' class='button add_to_cart_button'>Add to cart</a>";
}
function payments(){
var cartbutton = document.getElementById("cartbutton");
cartbutton.innerHTML = "<a href='/?add-to-cart=69' rel='nofollow' data-product_id='69' data-product_sku='' class='button add_to_cart_button'>Add to cart</a>";
}
window.onload=function(){
//这里的函数不是全局函数
};
//这里的功能是全局的
功能全薪(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
职能付款(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
使您的功能全球化:
window.onload = function(){
// functions here are not global
};
// functions here are global
function fullpay(){
var cartbutton = document.getElementById("cartbutton");
cartbutton.innerHTML = "<a href='/?add-to-cart=66' rel='nofollow' data-product_id='66' data-product_sku='' class='button add_to_cart_button'>Add to cart</a>";
}
function payments(){
var cartbutton = document.getElementById("cartbutton");
cartbutton.innerHTML = "<a href='/?add-to-cart=69' rel='nofollow' data-product_id='69' data-product_sku='' class='button add_to_cart_button'>Add to cart</a>";
}
window.onload=function(){
//这里的函数不是全局函数
};
//这里的功能是全局的
功能全薪(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
职能付款(){
var cartbutton=document.getElementById(“cartbutton”);
cartbutton.innerHTML=“”;
}
将您的函数放在窗口之外。onload,您就可以开始了@Pointy已经解释了为什么它不工作。把你的函数放在你的窗口之外。onload,你就可以开始了@波蒂已经解释了为什么它不起作用。哦,当然。非常感谢你。我快把自己逼疯了。哦,当然。非常感谢你。我快把自己逼疯了。