問題の簡易版、私が経験しています:ここで jQueryの+隠し入力フィールド
が私のHTMLフォームである:ここで<form enctype="multipart/form-data" method="post" action="/controller/action">
<input type="text" name="title" id="title" value="" class="input-text" />
<input type="hidden" name="hidden_field" value="" id="hidden_field" />
<input type="submit" name="submit_form" id="submit_form" value="Save" class="input-submit" />
</form>
ではJavaScriptです:
$(document).ready(function() {
$('#submit_form').hover(function() {
$('#hidden_field').attr('value') = 'abcd';
});
});
そして、ここにありますPHPバックエンドの実際の短いバージョン:
if (isset($_POST)) {
var_dump($_POST);
}
私はちょうどjQueryのコードが実行しまったことを確認するために数秒間#submit_formボタンをホバーである何、そして私がフォームを送信して:
- $ _POST [「hidden_field」]は空です!
なぜですか?それは、hoverイベントでjQueryを使用して非表示フィールドに挿入するときに 'abcd'を含む必要があります。
$( '#hidden_field')を使用してもまだ空です。val( 'abcd'); : –
@Knop、あなたのホバーハンドラが呼び出されていますか? – strager
申し訳ありませんが、それは私のタイプミスです:) –