www.gusucode.com > 共享世纪内容管理系统 2.1 build 080704 全站开源版 > edit/Example/NewsSystem/modify.asp
<!--#include file = "Startup.asp"--> <% ' ====================== ' 功能:修改新闻 ' 描述:提供一个修改表单,包括新闻标题和新闻内容,新闻内容使用eWebEditor进行编辑; ' 同时接收上传文件,以便删除新闻时,同时删除上传文件; ' 并由编辑区中上传的文件,提供标题新闻的图片选择; ' 功能与新增相同,不同在于只是修改表单具有初始值。 ' ====================== Call Header("修改新闻") Call Content() Call Footer() ' 本页内容区 Sub Content() ' 传入参数:新闻ID Dim sNewsID sNewsID = Trim(Request("id")) ' 新闻ID有效性验证,防止有些人恶意的破坏此演示程序 If IsNumeric(sNewsID) = False Then GoError "请通过页面上的链接进行操作,不要试图破坏此演示系统。" End If ' 从数据库中取初始值 Dim sTitle, sContent, sPicture, sOriginalFileName, sSaveFileName, sSavePathFileName sSql = "SELECT * FROM NewsData WHERE D_ID=" & sNewsID oRs.Open sSql, oConn, 0, 1 If Not oRs.Eof Then sTitle = oRs("D_Title") sContent = oRs("D_Content") sPicture = oRs("D_Picture") sOriginalFileName = oRs("D_OriginalFileName") sSaveFileName = oRs("D_SaveFileName") sSavePathFileName = oRs("D_SavePathFileName") Else GoError "无效的新闻ID,请点页面上的链接进行操作!" End If oRs.Close ' 把带"|"的字符串转为数组,用于初始下拉框表单 Dim aSavePathFileName aSavePathFileName = Split(sSavePathFileName, "|") ' 根据新闻内容中相关上传文件为数据,初始下拉框表单 ' 函数InitSelect,根据数组值及初始值返回下拉框输出字串,具体请见startup.asp文件中函数的说明部分 Dim sOptionSavePath sOptionSavePath = InitSelect("d_picture", aSavePathFileName, aSavePathFileName, sPicture, "", "无") %> <Script Language=JavaScript> // 当上传图片等文件时,往下拉框中填入图片路径,可根据实际需要更改此函数 function doChange(objText, objDrop){ if (!objDrop) return; var str = objText.value; var arr = str.split("|"); var nIndex = objDrop.selectedIndex; objDrop.length=1; for (var i=0; i<arr.length; i++){ objDrop.options[objDrop.length] = new Option(arr[i], arr[i]); } objDrop.selectedIndex = nIndex; } // 表单提交客户端检测 function doCheck(){ if (document.myform.d_title.value==""){ alert("新闻标题不能为空!"); return false; } // getHTML()为eWebEditor自带的接口函数,功能为取编辑区的内容 if (eWebEditor1.getHTML()==""){ alert("新闻内容不能为空!"); return false; } // 表单有效性检测完后,自动上传远程文件 // 函数:remoteUpload(strEventUploadAfter) // 参数:strEventUploadAfter ; 上传完后,触发的函数名,如果上传完后不需动作可不填参数 eWebEditor1.remoteUpload("doSubmit()"); return false; } // 表单提交(当远程上传完成后,触发此函数) function doSubmit(){ document.myform.submit(); } </Script> <form action="modifysave.asp?id=<%=sNewsID%>" method="post" name="myform" onsubmit="return doCheck();"> <% '取源文件名 %> <input type=hidden name=d_originalfilename value="<%=sOriginalFileName%>"> <% '取保存的方件名(带路径),如果不要带路径的填充下拉框,可以在下面的表单项加入onchange事件 %> <input type=hidden name=d_savefilename value="<%=sSaveFileName%>"> <% '取保存的文件名,使用带路径的填充下拉框 %> <input type=hidden name=d_savepathfilename onchange="doChange(this,document.myform.d_picture)" value="<%=sSavePathFileName%>"> <table cellspacing=3 align=center> <tr> <td>新闻标题:</td> <% ' 函数inHTML:去除Html格式,用于从数据库中取出值填入输入框时,具体请见startup.asp文件中函数的说明 %> <td><input type="text" name="d_title" value="<%=inHTML(sTitle)%>" size="90"></td> </tr> <tr> <td>标题图片:</td> <td><%=sOptionSavePath%> 当编辑区有插入图片时,将自动填充此下拉框</td> </tr> <tr> <td>新闻内容:</td> <td> <% ' ewebeditor.asp文件调用的参数: ' id:下面表单项textarea的名称,在此表单中是d_content,注意大小写 ' style:编辑器的样式名称,可在eWebEditor的后台设置 ' originalfilename:用于获取源文件名的表单项名,在此表单中是d_originalfilename ' savefilename:用于获取保存文件名的表单项名,在此表单中是d_savefilename ' savepathfilename:用于获取保存带路径文件名的表单项名,在此表单中是d_savepathfilename ' 请一定要用Server.HtmlEncode()函数对内容进行转换,否则将有可以出现某些内容出了编辑区的情况 %> <textarea name="d_content" style="display:none"><%=Server.HtmlEncode(sContent)%></textarea> <iframe ID="eWebEditor1" src="../../ewebeditor.asp?id=d_content&style=s_newssystem&originalfilename=d_originalfilename&savefilename=d_savefilename&savepathfilename=d_savepathfilename" frameborder="0" scrolling="no" width="550" HEIGHT="350"></iframe> </td> </tr> </table> <p align=center><input type=submit name=btnSubmit value=" 提 交 "> <input type=reset name=btnReset value=" 重 填 "></p> </form> <% End Sub %>