将javascript换行符作为\ n传递给vbscript吗?

时间:2014-02-24 20:17:16

标签: vbscript asp-classic

使用ajax时,是否将javascript-newline字符'\ n'传递给vbscript。试图替换它,但没有找到。 在父HTML页面中,我有这个textarea:

<textarea id="text1"></textarea>`<br />
<button id="btnSub" onclick="submitText">Submit</button>`

从那以后,我有了jquery ajax提交

   function submitText()
{
  var a = $("#text1").val();
  $.post("form1.asp",{a:a});
}

在form1.asp中,我有这段代码:

Dim text1 = formatTextArea(Request.Form("a"))

Public function formatTextArea(v)
 Dim text: text = v
    if Instr(1,text,"\n") <> 0 then
        text = Replace(text,"\n","<br \>")
    Else
        text = "Not found"
    End if
    formatTextArea = text
End Function

每次显示“Not Found”时,我都尝试在函数中用'vbcrlf'替换'\ n',但结果是相同的 - “找不到”。

我的问题是,提交时是否更改了javascript换行符'\ n'或更改了什么,因为当通过ajax jquery提交时它似乎不存在。

1 个答案:

答案 0 :(得分:1)

在Javascript(和许多其他语言)中,您可以使用escape codes将特殊字符放入字符串文字中。 VBScript没有此功能。

所以你的行

if Instr(1,text,"\n") <> 0 then

不会搜索换行符,而是搜索“\”和“n”的序列。根据您的数据是否通过“\ r \ n”,“\ n”或“\ r \ n”编码End Of Line,您应该使用

if Instr(1,text, vbCrLf) <> 0 then

if Instr(1,text, vbLf) <> 0 then

if Instr(1,text, vbCr) <> 0 then