portal_upload.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. [Discuz!] (C)2001-2099 Comsenz Inc.
  3. This is NOT a freeware, use is subject to license terms
  4. $Id: portal_upload.js 32590 2013-02-22 09:42:48Z monkey $
  5. */
  6. var nowid = 0;
  7. var extensions = '';
  8. function addAttach() {
  9. var newnode = $('upload').cloneNode(true);
  10. var id = nowid;
  11. var tags;
  12. newnode.id = 'upload_' + id;
  13. tags = newnode.getElementsByTagName('input');
  14. for(i = 0;i < tags.length;i++) {
  15. if(tags[i].name == 'attach') {
  16. tags[i].id = 'attach_' + id;
  17. tags[i].name = 'attach';
  18. tags[i].onchange = function() {this.form.action = this.form.action.replace(/catid\=\d/, 'catid='+$('catid').value);insertAttach(id)};
  19. tags[i].unselectable = 'on';
  20. }
  21. }
  22. tags = newnode.getElementsByTagName('span');
  23. for(i = 0;i < tags.length;i++) {
  24. if(tags[i].id == 'localfile') {
  25. tags[i].id = 'localfile_' + id;
  26. }
  27. }
  28. nowid++;
  29. $('attachbody').appendChild(newnode);
  30. }
  31. function insertAttach(id) {
  32. var path = $('attach_' + id).value;
  33. if(path == '') {
  34. return;
  35. }
  36. var ext = path.lastIndexOf('.') == -1 ? '' : path.substr(path.lastIndexOf('.') + 1, path.length).toLowerCase();
  37. var re = new RegExp("(^|\\s|,)" + ext + "($|\\s|,)", "ig");
  38. if(extensions != '' && (re.exec(extensions) == null || ext == '')) {
  39. alert('对不起,不支持上传此类文件');
  40. return;
  41. }
  42. var localfile = $('attach_' + id).value.substr($('attach_' + id).value.replace(/\\/g, '/').lastIndexOf('/') + 1);
  43. $('localfile_' + id).innerHTML = localfile + ' 上传中...';
  44. $('attach_' + id).style.display = 'none';
  45. $('upload_' + id).action += '&attach_target_id=' + id;
  46. $('upload_' + id).submit();
  47. addAttach();
  48. }
  49. function deleteAttach(attachid, url) {
  50. ajaxget(url);
  51. $('attach_list_' + attachid).style.display = 'none';
  52. }
  53. function setConver(attach) {
  54. $('conver').value = attach;
  55. }
  56. addAttach();