次のように、ページにいくつかのフォームがあります。
<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 にあるため機能しません (それらをすべて並べて配置すると機能します)。
どうすればこれを達成できますか?