我有一个包含菜单系统的表单。在菜单系统中,您可以选择要动态加载的表单类型。[前任。上传视频、嵌入视频、上传照片、导入图像、上传音频、共享音频] 默认情况下,在未选择和加载任何表单的情况下,表单处理“添加文本”。
当我不使用 $.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 并使用访客/访客登录。看看“The Splash”是如何运作的。它仍在开发中。但是我需要一些帮助来弄清楚为什么动态更改的表单不序列化。我什至在第二个框中有一个警告框返回结果,而更改后的表单什么也没有返回。只有默认的“sendtxt”有效。