程序开发中最尴尬的处境:就是不运行(更新解决方法)

王志勇 发表于 2019年03月29日 09:35

昨晚写的在线更新的一个多行网址的验证功能,本来这个部分是比较简单的功能。语句明明都是正确的,但就是不运行,从昨晚临睡前到现在,为了处理这个问题,横竖左右各种办法来筛选错误所在,已经浪费了2个多小时,因为用的是top.abc.innerHTML,很难排查错误。以前遇到过很多次明明语句正确,就是不运行。要了老命了

2019-03-29 10:26更新:
终于排查到问题所在,innerHTML中的数据不能带有回行,正好innerHTML的值当中有<textarea>标签,在<textarea>显示用户提交的数据,有回行会导致JavaScript出错。JavaScript不像PHP,PHP报错会大致显示错误信息,JavaScript没有任何提示。

查看是否有JavaScript报错,还是IE6好用。其它浏览器,都不显示JavaScript报错。

2019-03-29 10:36更新:
经过调试,这种特殊情况下,只需把PHP里识别的"\n"符,转成HTML能识别的'\n'符,例如这样:
<?
$c1=str_replace("\n",'\n',$c1);
?>

之后,$c1就可以被document.write('')或者top.document.all.abc.innerHTML='',或者document.all.abc.innerHTML=''里含有的<textarea>标签调用,例如:

document.write('<textarea><?=$c1?></textarea>');

或者:

top.document.all.abc.innerHTML='<textarea><?=$c1?></textarea>';

或者:

abc.innerHTML='<textarea><?=$c1?></textarea>';

0条评论:

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

王志勇:1980-09-26 (44周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +

2020年 +
2019年 +
2018年 +
2016年-2017年(9)
2014年06月-09月(10)
2013年 +
2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2024 auiou.com All rights reserved.
此Blog程序由王志勇编写