我的网页上有3个名为btn_newsletter_wide
,btn_newsletter_desktop
和btn_newsletter_mobile
的按钮,应提交表单,但在此之前我想根据按钮应用一些特定的验证按下。所有按钮都有一个onclick动作,用于确定要通过Switch select选择的验证,如下所示;
function validate_forms() {
var btnSelected = (this.id)
switch (btnSelected) {
case "btn_newsletter_wide":
validate_form_newsletter_wide( form );
break;
case "btn_newsletter_desktop":
validate_form_newsletter_wide( form );
break;
case "btn_newsletter_mobile":
validate_form_newsletter_wide( form );
break;
}
}
但似乎没有用,在调试时我发现btnSelected=undefined
所以对正确功能的调用不会发生。所以它必须是我尝试将所选按钮的ID传递给变量的方式,经过一些修补我无法纠正它。
请有人指出我正确的方向。
答案 0 :(得分:1)
如果您在按钮上内联事件,则必须明确传递此对象引用
<button id="yourbutton" onclick="validate_form(this)"> // pass this object explicitly
// or addEventListener more recommended way to do
document.getElementById("yourbutton").addEventListener("click", validate_form);
// or attach onclick event
document.getElementById("yourbutton").onclick = validate_form;
要为多个元素附加相同的功能,请参阅此链接JavaScript click event listener on class