在Switch语句中单击使用按钮

时间:2015-09-15 18:05:27

标签: javascript

我的网页上有3个名为btn_newsletter_widebtn_newsletter_desktopbtn_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传递给变量的方式,经过一些修补我无法纠正它。

请有人指出我正确的方向。

1 个答案:

答案 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