Javascript数组添加一些显示不同长度的特殊字符时

标签 java javascript arrays

在我的 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 中有五个文本框。我的代码正确地从这些文本框中选取值,并仅在不包含某些特殊字符时传递到其他页面。 img1

上述条件的输出对我来说很好。

!###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

因此,当我添加任何字符(如 #、&、%)时,数组就会被破坏。这意味着在该字符之后它不会采用其他值。

在本例中img2

我在第三个文本框中添加了“&”符号。所以我得到这样的输出

!###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

在“&”符号之后,它不显示任何值。大小也是三。如果我在第二个文本框中添加它,大小将为二。为什么这些符号会出现这种行为?我也需要传递这些符号。我在这里做错了什么?我需要一些帮助

谢谢

最佳答案

& 符号分隔 URL 中的获取参数 (parameter1=value¶meter2=value2)。因此该符号后面的所有内容都被视为第二个参数。

如果您使用 JavaScript 函数 encodeURIComponent 来编码 attrstr 那么它应该可以工作。

关于Javascript数组添加一些显示不同长度的特殊字符时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19268601/

相关文章:

java - 如何限制 20 个 JCombobox 的 1 个选择选项的最大选择数量? javafor 前

java - 移动后端启动器 subscribeToCloudMessage 将不起作用

java - 在Java中,在抛出异常的方法中关闭变量的正确方法是什么?

JavaScript 正则表达式排除前导和尾随空格,但保留内部空格

javascript - 如何使用 Javascript 防止 anchor 标记的默认操作?

java - 将二维数组与数组进行比较,并替换匹配的元素

java - 在 Java 中使用 XQueryCompiler 仅提取值

java - 在另一个干净项目中使用时,自定义 Maven 插件无法解析父 POM

javascript - 将 className 设置为映射元素中的特定状态

PHP:数组似乎重新初始化