メニューシステムを含むフォームがあります。メニュー システムで、動的にロードするフォームのタイプを選択します。[元。[ビデオのアップロード、ビデオの埋め込み、写真のアップロード、画像のインポート、オーディオのアップロード、オーディオの共有] デフォルトでは、フォームが選択されておらず読み込まれていない場合、フォームは「テキストの追加」を処理します。
$.post を使用していないときは、フォームに問題はありませんでしたが、ページのリロードが私をやさしく殺していました。そのため、「テキストの追加」のみが機能するようになりました。
フォームが機能する方法は、フォーム ID が選択されたフォームの onclick イベントを変更することです。[元。ビデオをアップロード -> フォーム id='uploadvideo'、およびメイン メニューに戻るとき -> フォーム id='sendtxt'] 問題は、メニュー項目がクリックされたときのフォームのシリアル化です。これは、メニュー システムの JS/HTML です。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script language="javascript">
$(function(){
$(".imge").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/imge.php");
$("#txtrform").attr('id', 'sendimge');
});
});
$(function(){
$(".imgl").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/imgl.php");
$("#txtrform").attr('id', 'sendimgl');
});
});
$(function(){
$(".vide").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/vide.php");
$("#txtrform").attr('id', 'sendvide');
});
});
$(function(){
$(".vidl").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/vidl.php");
$("#txtrform").attr('id', 'sendvidl');
});
});
$(function(){
$(".aude").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/aude.php");
$("#txtrform").attr('id', 'sendaude');
});
});
$(function(){
$(".audl").click(function(){
$("#txtrmenu").load("/widgets/txtr/optn/audl.php");
$("#txtrform").attr('id', 'sendaudl');
});
});
</script>
<img class="imgl" src='/assets/imgl.png'>
<img class="imge" src='/assets/imge.png'>
<img class="vidl" src='/assets/vidl.png'>
<img class="vide" src='/assets/vide.png'>
<img class="audl" src='/assets/audl.png'>
<img class="aude" src='/assets/aude.png'>
これは $.post 関数の JS です。注: 最初の関数のみが機能します。
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function(){
$("#txtrform").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/sendtxt.php', $("#txtrform").serialize(), function(data) {
$("#statusimge").html(data);
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendaude").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/shareaudio.php', $("#sendaude").serialize(), function(data) {
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendaudl").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/uploadaudio.php', $("#sendaudl").serialize(), function(data) {
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendimge").submit(function(e){
$.post('http://mediahood.net/widgets/txtr/optn/proc/importphoto.php', $("#sendimge").serialize(), function(data) {
$("#statusimge").html(data);
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendimgl").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/uploadphoto.php', $("#sendimgl").serialize(), function(data) {
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendvide").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/embedvideo.php', $("#sendvide").serialize(), function(data) {
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
$("#sendvidl").submit(function(){
$.post('http://mediahood.net/widgets/txtr/optn/proc/uploadvideo.php', $("#sendvidl").serialize(), function(data) {
$("#col3").load("/include/txtrpbox/feed.php");
$('input#txtrinput').val('');
});
return false;
});
});
</script>
mediahood.net にアクセスして、guest/guest でログインできます。「スプラッシュ」がどのように機能するかを確認します。そのまだ開発中です。しかし、動的に変更されたフォームがシリアル化されない理由を理解するための助けが必要です。結果を返す 2 番目のボックスに警告ボックスもあり、変更されたフォームは何も返しません。デフォルトの「sendtxt」のみが機能します。