如何清除 Classic ASP 或 jQuery 中的特定 Request.Form 值?

问题描述

我有一个经典的 ASP 页面,它更新了一个来自表单元素的很长的 Base64 值的 MS sql 表,但在同一页面上,我有一个使用所有表单元素(除了这个)并将它们转换为值的函数电子邮件,问题是特定的 base64 表单元素会破坏此操作,因此我需要清除此值或简单地设置与 Request.Form("ProfilePicture") 不同的值,因为我无法从使用中排除此元素。

我一直在查看 ASP Classic 的文档,但找不到可以做到这一点的函数,我找到的最接近的是清除所有表单元素的函数,这在我的情况下不是一个选项因为其他表单值对下一个函数很重要。

有没有人知道如何解决这个问题,最好在 ASP Classic 中,或者使用 jQuery?

根据要求提供一些代码(仅提交表单的关键元素)

主要形式:

<form id="ConFirmSolvedForm" name="ConFirmSolvedForm" method="post" class="demo-form">

<input type="file" class="inputfile inputfile-4" accept="image/jpeg"> //This is the file choosen,but I only use this for getting the Base64 String

<input type="hidden" name="ProfilePicture" id="srcAttribute" value="" width="100%" /> //This contains Base64 string

<button type="submit" formaction="insert_confirm_tasks_solved.asp" id="UploadPrifileButton" class="next btn btn-secondary shadow-custom">Save</button>

(部分)insert_confirm_tasks_solved.asp:

subject = request.form("subject_WhoIsWho")
template = request.form("template_WhoIsWho")
    
Set adoStream = CreateObject("Adodb.Stream")
adoStream.Type = 2
adoStream.Open
adoStream.Charset = "UTF-8"
adoStream.LoadFromFile server.mappath("" & template & "")
template = adoStream.ReadText(-1)
adoStream.Close
Set adoStream = nothing
getTextFromFile = template
    
set msg = server.createobject("cdo.message")
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "" & objSettings("SMTPServer") & ""
msg.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = objSettings("SMTPPort")
msg.Configuration.Fields.Update
msg.subject = subject
msg.BodyPart.Charset = "utf-8"
msg.to = objSettings("WhoISEmail")
msg.from = """" & objSettings("MailFromName") & """ <" & objSettings("MailFromEmail") & ">"
msg.Sender = """" & objSettings("MailFromName") & """ <" & objSettings("MailFromEmail") & ">"

if len(cc) > 0 then msg.cc = cc
if len(bcc) > 0 then msg.bcc = bcc

body = template

body = replace(body,"[$PortraitAdminName$]","" & Request.Form("PortraitAdminName") & "")

body = replace(body,"[$LinkToConfirmSolved$]","index.asp?LoadSpecificPage=confirm_tasks_solved.asp&RoleType=WhoIsWho&id=" & Request.Form("ID") & "")

body = replace(body,"[$LinkToNewEmploy$]","login.asp?LoadSpecificPage=flow.asp&ShowPagePart=FlowNotDone&GetSpecificUserOnFlow=yes&UserIDOnFlow=" & Request.Form("id") & "")

for each item in request.form
    body = replace(body,"[$" & item & "$]",replace(request.form(item),vbcrlf,"<br>"))
next


rx.pattern = "\[\$.*\$\]"
rx.global = true
body = rx.replace(body,"")

msg.htmlbody = body

msg.send

set msg = nothing

我得到的错误

`Microsoft VBScript 运行时错误'800a01a8'

需要的对象:''

/insert_confirm_tasks_solved.asp,第 670 行`

第 670 行是:rx.pattern = "\[\$.*\$\]"

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)