0

每次提交表单时,我都试图获取一个按钮(输入字段或按钮字段)值。我认为我有一些逻辑问题,因为第二个不起作用。

这是在 jsFiddle http://jsfiddle.net/uqj88/23/

这就是无法正常工作的部分。如果它没有找到类型是提交的输入,它甚至似乎都没有寻找按钮元素。

    $('form').submit(function () {
        if ($(this).children("input[type='submit']") != "") {
            submitButton = $(this).children("input[type='submit']");
            if (submitButton.attr("value") != ""){
                  linkText = submitButton.attr("value") + " - Button";
            }
            else if ((submitButton.attr("value") === "") && (submitButton.prop("id") != "")) {
                  linkText = submitButton.prop("id") + " - Button";
            }
            else if ((submitButton.attr("value") === "") && (submitButton.prop("class") != "")) {
                  linkText = submitButton.prop("class") + " - Button";
            }
            else {
                  linkText = "Form Submitted - Button";  
            }
        }
        else if ($(this).children("button") != "") {
            submitButton = $(this).children("button");
            linkText = submitButton.text() + " - Button";
        }
        window.alert(linkText);
    });   
4

1 回答 1

1

这一行:

$(this).children("input[type='submit']") != ""

应该:

$(this).children("input[type='submit']").length

jQuery 对象始终是对象,无论它们是否包含元素。一个对象永远不会等于""

对 else if 语句重复相同的更改。

于 2012-05-17T14:21:00.947 回答