www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/js/upload.js
var aid = 0; function newAttach(){ if (!IsElement('attach')) return; aid++; attachnum--; var s = getObj('att_mode').firstChild.cloneNode(true); var id = aid; s.id = 'att_div' + id; var tags = s.getElementsByTagName('input'); for(var i=0;i<tags.length;i++){ tags[i].name += id; tags[i].id = tags[i].name; if(tags[i].name == 'attachment_'+id){ tags[i].onchange = function(){upAttach(id);}; } } getObj('attach').appendChild(s); } function upAttach(id){ var div = getObj('att_div'+id); var path = getObj('attachment_'+id).value; var attach_ext = path.substr(path.lastIndexOf('.') + 1, path.length).toLowerCase(); if(allow_ext != ' ' && (attach_ext == '' || allow_ext.indexOf(' ' + attach_ext + ' ') == -1)){ if(IsElement('att_span'+id)){ div.removeChild(getObj('att_span'+id)); } if(path != '') alert('附件类型不匹配!'); return false; } getObj('attachment_'+id).onmouseover = function(){viewimg(id)}; if(!IsElement('att_span'+id)){ var span = document.createElement("span"); var s = document.createElement("a"); s.className = 'abtn'; s.unselectable = 'on'; s.onclick = function(){addupload(id)}; s.innerHTML = '插入'; span.appendChild(s); var s = document.createElement("a"); s.className = 'abtn'; s.unselectable = 'on'; s.onclick = function(){delupload(id)}; s.innerHTML = '删除'; span.appendChild(s); span.id = 'att_span'+id; span.style.marginLeft = '1px'; div.appendChild(span); } if(attachnum>0 && getObj('attach').lastChild.id == 'att_div'+id){ newAttach(); } } function viewimg(id){ var path = getObj('attachment_'+id).value; var attach_ext = path.substr(path.lastIndexOf('.') + 1, path.length).toLowerCase(); if(!is_ie || !in_array(attach_ext,['jpg','gif','png','bmp','jpeg'])) return; getObj('viewimg').innerHTML = getimage(path,320); read.open('viewimg','att_div'+id,3); } function getimage(path,maxwh){ var img = new Image(); img.src = path; return '<div style="padding:6px"><img src="' + path + '"' + ((img.width>maxwh || img.height>maxwh) ? (img.width > img.height ? ' width' : ' height') + '="' + maxwh + '"' : '') + ' /></div>'; } function addupload(attid){ if(typeof WYSIWYD == 'function'){ editor.focusEditor(); if (editor._editMode=='textmode' || !is_ie) { AddCode(' [upload='+attid+'] ',''); } else if(IsElement('attachment_'+attid)) { var img = imgmaxwh(getObj('attachment_'+attid).value,320); editor.insertHTML('<img src="'+img.src+'" type="upload_'+attid+'" width="'+img.width+'" />'); } } else{ var atc = document.FORM.atc_content; var text = ' [upload='+attid+'] '; if (document.selection) { var sel = document.selection.createRange(); alert(sel.text); if (sel.parentElement().name == 'atc_content') { sel.text = text; sel.select(); } else { atc.value += text; } } else if (typeof atc.selectionStart != 'undefined') { var prepos = atc.selectionStart; atc.value = atc.value.substr(0,atc.selectionStart) + text + atc.value.substr(atc.selectionEnd); atc.selectionStart = prepos + text.length; atc.selectionEnd = prepos + text.length; } else { atc.value += ' [upload='+attid+'] '; } } } function delupload(id){ getObj('att_div'+id).parentNode.removeChild(getObj('att_div'+id)); attachnum++; if(getObj('attach').hasChildNodes()==false){ newAttach(); } }