0

フォームが送信されるたびにボタン(入力フィールドまたはボタンフィールド)の値を取得しようとしています。2つ目は機能しないため、ロジックの問題が発生していると思います。

こちらはjsFiddlehttp : //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オブジェクトは、要素が含まれているかどうかに関係なく、常にオブジェクトです。オブジェクトがに等しくなることはありません""

他の場合も同じ変更を繰り返します。

于 2012-05-17T14:21:00.947 に答える