1

次のように、ページにいくつかのフォームがあります。

<form>
    <input type="hidden" name="id" value="someID1">
    <div>
        <span>
            <input type="submit" class="submitClass">
        </span>
    </div>

    <div>
        <input type="text" name="name" class="someClass" value="name1">
    </div>
</form>

<form>
    <input type="hidden" name="id" value="someID1">
    <div>
        <span>
            <input type="submit" class="submitClass">
        </span>
    </div>

    <div>
        <input type="text" name="name" class="someClass" value="name1">
    </div>
</form>

それから私はいくつかのJSを持っています:

jQuery(document).ready(
    function()
    {
        console.log("page loaded");

        jQuery(".submitClass").on("click", function() {
            var id = jQuery(this).siblings("input[name='id']").val();
            var name = jQuery(this).siblings("input[name='name']").val();

            console.log(id);
            console.log(name);

            return false;
        });
    }
);

JSFIDDLE: http://jsfiddle.net/sEXg3/

送信ボタンがクリックされたときに、フォームの送信を停止し、送信ボタンの横にある 2 つの入力の値を取得したいと考えています。

関数でこれを実行しようとしました.siblings()が、入力が異なる DIV/SPAN にあるため機能しません (それらをすべて並べて配置すると機能します)。

どうすればこれを達成できますか?

4

2 に答える 2