Web サイトの 1 つでFacebox ( http://defunkt.github.com/facebox/ ) を使用しています。また、私はサイトで jQuery を広範囲に使用しています。
私の問題は、.val() 関数が facebox 内で機能していないように見えることです。今、これは facebox として表示される DIV です:
<div id="edit-tags" style="display: none;">
<script type="text/javascript">
$('.add-tag-form').submit(function(){
alert($('input.tags-input').val());
return false;
});
</script>
<form class="add-tag-form">
<input type="text" name="tags-input" class="tags-input" />
<input type="submit" class="small-button" value="Add Tag" />
<form>
</div>
さて、問題は の値がinput.tags-input
アラート ボックスに表示されないことです。空っぽに見える。
さらに悪いことに、jQuery の選択は実際に機能します。つまり、$('input.tags-input').hide()
完全に正常に動作します。
問題をさらに悪化させるために、.val()
は初期値で動作します。つまり、これを使用する場合:
<input type="text" name="tags-input" class="tags-input" value="Some value" />
次に、値を変更するかどうかに関係なく、アラートボックスに「Some Value」が表示されます。
私はここで完全に立ち往生しています。コード内の.val()
at the same position は、facebox の外側のテキスト ボックスで正常に機能します。