大文本作为javascript函数的参数

时间:2018-04-19 16:21:04

标签: javascript angularjs

我有一个带有3个输入参数的函数,如test(p1, p2, p3)。参数p1p2是数字,参数p3是字符串。

在我提供包含大约100个字符或更多字符以及特殊字符的字符串之前,所有内容似乎都按预期工作。一旦我这样做,该函数抛出一个错误。以下是我为p3尝试的示例值:

  

"嗨这是一个包含#,.等特殊字符的文本参数。 ,_......"

如何将包含特殊字符的100多个字符的参数传递给JavaScript函数?

1 个答案:

答案 0 :(得分:0)

尝试这一点 - 通过生成此变量的函数(可以是隐藏字段)将其存储在html中的字段中,然后使用jQuery或document.getElementById检索它,例如,如果这是我的隐藏字段:

<input id="myLongStringStore" name="prodId" type="hidden" value="">

这是生成长字符串的函数:

function myFunction ()
{
   var myString = "sahj&^%fasd^$)jlk()*/£fgh";
   var myHiddenInput = document.getElementById("myLongStringStore");
   myHiddenInput.innerHTML = myString; // or .value = myString;
}

然后在你的函数中保留前两个参数,然后从隐藏输入中获取长字符串:

function test(p1,p2)
{
  var p3 = document.getElementById("myLongStringStore").innerHTML; // or 
                                                               // .value

  // you can also do this in jQuery:
  var p3 = $('#myLongStringStore');
}

希望这有帮助