人々が私を飛び越える前に、私はこのスレッドを見ました:jQueryでシリアル化されたフォームをPHPで非シリアル化するにはどうすればよいですか?
私の質問は非常に似ていますが、私のデータは大きく異なります。私は投稿を行うためにAJAX呼び出しを使用していますが、データは問題なく投稿されます(jQueryは1.7です)。ユーザーがいくつかのリンクをクリックしてこのフォームとajaxスクリプトにドリルダウンすると、フォームとAJAXが動的に読み込まれます。
AJAXは次のようになります:(ところで、あなたが.on()を使用することになっていることはわかっていますが、.live()のように機能させることができないようです)
$('#ajaxCaptionForm').live('submit', function(e){
e.preventDefault();
$.ajax({
'type':'POST',
'data':{formData: $('#ajaxCaptionForm').serialize()},
'success':function(){
parent.$.fancybox.close();
}
});
}); // closing form submit
フォームは次のようになります。
<form method="Post" action="localhost/controller" id="ajaxCaptionForm" name="ajaxCaptionForm">
<label for="Caption">Caption</label><input type="text" id="Caption" name="Caption" value="Leaf lesions.">
<label for="Keywords">Keywords</label>
<p>Please seperate keywords by a comma
<input type="text" id="Keywords" name="Keywords" value=""></p>
<input type="hidden" id="imageID" name="imageID" value="87595">
<input type="submit" value="Update Image" name="yt3" clicked="true">
</form>
シリアル化されたデータは次のようになります:(firebugによる)
formData=Caption%3DFruit%2Blesions.%26Keywords%3D%26imageID%3D87592
応答をエコーアウトすると、次のようになります。
"Caption=Leaf+symptoms+of+++CCDV.&Keywords=&imageID=87655"
私の問題は次のとおりです。
- コンテンツを入れてもキーワード欄は空っぽ
- コンテンツを変更しても、投稿時にキャプションフィールドが変更されません。
各変数にアクセスするにはどうすればよいですか?キャプション、キーワード、画像。$_POSTは機能しません。
Yii :: app()-> request-> getParam('imageID')