<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]
我该如何解决这个问题?
答案 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我解决了我自己的探测器:)