Par*_*ris 2 iframe upload jquery loading
我正在使用jQuery和iFrame创建一个文件上传脚本.所以,我有一个id ="myform"和target ="myframe"的表单以及一个id ="myframe"和name ="myframe"的框架.当用户选择一个文件时,表单会自动被提交,并且在iframe加载结果后我会提醒他们.问题是我第一次上传文件时得到一个警报,第二次是第二次,第三次上传我得到三个.我的代码就像
$("#myform input").change(function () {
alert("submitting");
$("#myform").submit();
});
$("#myform").submit(function () {
alert(submited);
$("#myframe").load(function () {
alert ("loaded!");
alert ($(this).contents().text());
});
});
Run Code Online (Sandbox Code Playgroud)
我多次获得的警报是"已加载!" 和$(this).contents().text()这意味着表单提交一次,iframe"加载"一次以上.我通过Chrome控制台验证了这一点,我的操作文件每次提交只调用一次.为什么会这样?
小智 6
您似乎要为$("#myframe")添加新的处理程序.每次提交表单时加载.
尝试:
$("#myform input").change(function () {
alert("submitting");
$("#myform").submit();
});
$("#myform").submit(function () {
alert(submited);
$("#myframe").unbind('load');
$("#myframe").load(function () {
alert ("loaded!");
alert ($(this).contents().text());
});
});
Run Code Online (Sandbox Code Playgroud)
要么:
$("#myform input").change(function () {
alert("submitting");
$("#myform").submit();
});
$("#myframe").load(function () {
alert ("loaded!");
alert ($(this).contents().text());
});
$("#myform").submit(function () {
alert(submited);
});
Run Code Online (Sandbox Code Playgroud)