- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试提交一个包含通过 Ajax/jQuery 上传文件的表单,通过 PHP 脚本处理该表单,然后将结果返回到表单最初所在的 div 中。
我当前的表单代码是:
<section id="content-right">
<form name="uploader" id="uploader" method="POST" enctype="multipart/form-data">
<input type="hidden" id="MAX_FILE_SIZE" name="MAX_FILE_SIZE" value="10485760" />
<input type="file" name="fileselect" id="fileselect" />
<input type="submit" name="submit" id="submit" value="Upload" />
</form>
</section>
我当前的 Ajax/jQuery 脚本是:
<script>
$(function() {
$('#uploader').submit(function() {
$(this).ajaxSubmit({
type: $(this).attr('method'),
url: 'upload-song.php',
success: function(response) {
$('#content-right').html(response);
}
});
return false;
});
});
我的 PHP 脚本是“upload-song.php”(细节无关紧要)。
我还运行了 YUI.Pjax 来处理正常的导航(a href)链接并将它们加载到#content-right(如果用户单击任何内容,我希望它加载到#content-right)。
通过此设置,正常链接的导航工作完美,所有内容都加载到#content-right,但 uploader 仅每隔一次工作。
例如, uploader 将在#content-right 中加载 upload-song.php 并完美地处理所有内容,然后如果我离开该页面并尝试上传另一个项目,它将不起作用,它只会刷新页面(如果我将 action="upload-song.php"放在表单标记中,它将加载 upload-song.php 作为完整页面,而不是在#content-right 中)。刷新页面后,我可以上传另一个项目,它会完美运行。
我认为这与我如何将我的 Ajax 脚本附加到表单提交有关(因为如果我刷新页面它会完美运行),但我对这些语言没有太多经验所以我'我不确定如何修复它。
此外,如果我禁用 YUI.Pjax,它会修复 uploader ,但显然会破坏我的链接,所以我正在寻找解决方法。
有什么想法吗?
最佳答案
试试这个:
$(document).on("submit", "#uploader", function() ...
此语法将使提交事件冒泡到文档。这样,当 #content_right
部分重新加载时,文档会保留在 DOM 就绪函数中设置的事件监听响应。
关于php - 使用 jQuery/Ajax 提交表单只能每隔一段时间有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14741746/
有一条(相对)众所周知的 Perl 公理:“只有 Perl 可以解析 Perl”。我想知道 Perl 6 是否仍然如此? 扩大讨论...考虑到 PyPy 最近的更新,我想到了这个问题。 Perl 独特
这是设置。在上一个问题中,我发现我可以通过子组件中的状态传递对象属性,然后使用 componentDidUpdate 获取该对象属性。在这种情况下,状态和属性都称为到达。 这是基本代码... expo
我运行的是 10.5.2 社区版。我已经标记了 源/主要/资源 作为源目录。我可以右键单击并“编译”某些文件,据我所知,这意味着 IDE 将文件复制到与发送类文件的“com.mydomain.pack
我是一名优秀的程序员,十分优秀!