私は id/name の入力を持つフォームを持っていますleague_id
:
<form accept-charset="UTF-8" action="/user" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
<input name="authenticity_token" type="hidden" value="bb92urX83ivxOZZJzWLJMcr5ZSuamowO9O9Sxh5gqKo=">
</div>
<input id="league_id" name="league_id" type="text" value="11">
<select class="sport_selector" id="sport_type_id" name="sport_type_id">
<option value="5" selected="selected">Football</option>
<option value="25">Women's Soccer</option>
<option value="30">Volleyball</option>
<option value="10">Men's Soccer</option>
</select>
<input name="commit" type="submit" value="Save changes">
</form>
私のページの別の部分には、ドロップダウンがあり、変更すると次の値がクリアされますleague_id
。
$("#sport_type_id").change(function(){
$("#league_id").val(null)
$(this).parents('form:first').submit()
});
このページをデバッグすると、値がテキスト ボックスから消去されるのがわかりますが、フォームが送信されると、コントローラーは常に古い値を取得します。
アップデート
私のせいです。というラベルの付いた複数のフィールドがありましたleague_id
。何が起こっているのか正確にはわかりませんが、何かを入力したときに非常に奇妙な結果が得られるようになり、すべての ID が一意であることを確認すると、期待どおりの結果が得られ始めました。
手のひらでごめんなさい
入力の名前を変更してみましたが、同じ結果が得られました。