在我的 jsp 页面中,我有一些 javascript 代码,用于获取在文本框中输入的所有值。我将它们放入数组中,然后传递到下一页。这是我的javascript函数
function gt2()
{
var pqr="100";
var arr=new Array();
var x=<%=height%>;
var attstr=null;
for(var t=0; t<x; t++)
{
var a="inputText"+t;
var e=document.getElementById(a);
var val= e.value;
arr[t]=val;
if(t==0)
{
attstr=arr[t]+",";
}
if((t!=x)&&(t!=0))
{
if(t==x-1)
{
attstr+=arr[t];
}
else
{
attstr+=arr[t]+",";
}
}
}
window.location.assign("gt_Iba2?value="+attstr);
}
在第二个 jsp 页面中,我得到了该值。
String newValue=request.getParameter("value");
System.out.println("!###The new value in second jsp is "+newValue);
String[] allvalues=newValue.split(",");
System.out.println("The length of allvalues is "+allvalues.length);
我的第一个 jsp 中有五个文本框。我的代码正确地从这些文本框中选择值并仅在它不包含某些特殊字符时才传递到其他页面。
上述条件的输出对我来说很好。
!###The new value in second jsp is A|B|C|Dbcdrt,A|B|C|Dbcdrt,A|B|C|Dbcdrt,A|B|C|Dbcdrt,A|B|C|Dbcdrt
The length of allvalues is 5
因此,当我添加像 #,&,% 这样的任何字符时,数组正在破坏。意味着它在该字符之后没有采用其他值。
在这种情况下
我在第三个文本框中添加了“&”符号。所以我得到这样的输出
!###The new value in second jsp is A|B|C|Dbcdrtdf,A|B|C|Dbcdrtdf,A|B|C|Dbcdrtdf
The length of allvalues is 3
在那个“&”符号之后,它没有显示任何价值。大小也是三个。如果我在第二个文本框中添加这个大小将是两个。为什么在这些符号上出现这种行为?我还需要传递这些符号。我在这里做错了什么?我需要一些帮助
谢谢