如何使javascript在Opera上正常工作?

时间:2011-01-15 23:53:19

标签: javascript opera

<script language="javascript" type="text/javascript">
                        function TextDefine(val){
    var i= 0;                
var array1 = val.value.split("\n");
for ( i = 0; i < array1.length; i++) {
    array1[i] = "[img]" + array1[i] + "[/img]";
}
val.value = array1.join("");
                        }
                        </script>

上面的脚本假设为文本区域中的多行添加前缀和后缀。

<textarea onClick="SelectAll('data');"  name="data" id="data" cols="100" rows="20" ></textarea>
<input type="button" name="submit1" value="Submit" onclick="TextDefine(document.getElementById('data'))" />

示例:

[img]first line[/img]
[img]second line[/img]

但是在Opera浏览器中,输出是这样的:

[img]first line
[/img][img]second line
[/img]

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

这是来自textarea吗? Opera使用\ r \ n作为textareas中的行分隔符,因此请尝试使用var array1 = val.value.split(/\r?\n/);

答案 1 :(得分:1)

哦我修好了:D

我做了一行

var array1 = val.value.split("\n");

var array1 = val.value.split("\r\n");

然后就行了

array1[i] = "[img]" + array1[i] + "[/img]";

array1[i] = "[img]" + array1[i] + "[/img]\r\n";

现在已经修好了:) Geez我解决了我自己的探测器:)