很抱歉打扰你,但我无法弄清楚为什么函数" fileUpload()"单击输入按钮时不会被调用。
我已将问题隔离到动态生成的表单 - 当表单已加载到页面上时,fileUpload()会正常工作。
以下是代码:
var dID;
var pictureform;
$(document).delegate('.ddxaddpic', 'click', function(){
dID = $(this).prev('.diffddz').find('option:selected').val();
var n =$('this span.addhere form').length;
if ((dID !== "") && (n == 0)) {
pictureform = "<form id='picup"+dID+"' class='picupcl' enctype='multipart/form-data'>"
pictureform += "<input type='file' id='inp1' name='fileToUpload"+dID+"[]' onchange='fileUpload('picup"+dID+"','pictureupload.php','upload"+dID+"','picup"+dID+"');'/></br>"
pictureform +="<input type='hidden' name='filenum' value='"+dID+"'/><input type='hidden' name='clinimg_id' value='"+dID+"'/></form>"
pictureform +="<span id='upload"+dID+"'></span>";
$(this).next('.addhere').append(pictureform);
}
});
当我点击上传文件时,永远不会调用该函数。更糟糕的是,我还收到语法错误&#34; Uncaught SyntaxError:Unexpected token}&#34;在一条没有任何代码的行上。
任何提示?
非常感谢你的帮助。
答案 0 :(得分:1)
我在这里至少看到一个引用问题......
// replace
pictureform += "<input type='file'...
// by
pictureform += "<input type='file' id='inp1' name='fileToUpload"+dID+"[]' onchange=\"fileUpload('picup"+dID+"','pictureupload.php','upload"+dID+"','picup"+dID+"');\"/></br>";
在指令末尾加上分号,它会留下一些语法错误风险