我正在编写一个阅读通知/消息的网页,要求我将通知作为数据库的输入。我正在使用php进行输入并使用echo将其传递给javascript函数。
现在的问题是,如果通知非常大(> 1000个字符或其他东西),该功能将停止工作。有没有办法在javascript变量中存储大字符串?
提前谢谢你。
javascript函数是这样的:
function display(subject, notice, from,to)
{
alert(notice);
document.getElementById('reader_default').innerHTML='';
document.getElementById('subject').innerHTML="SUBJECT : "+subject;
document.getElementById('from').innerHTML="From: "+from;
document.getElementById('to').innerHTML="To: "+to;
document.getElementById('noticedisp').innerHTML=""+notice;
}
php变量传递如下:
echo '<a href="javascript:void(0)" onclick="display(\''.ucfirst($subject).'\',\''.$notice.'\',\''.ucfirst($hostel).' Hostel'.'\',\''.$toid.'\')" style="padding:2%; text-decoration:none; color:#0033CC;">'.ucfirst($subject).'</a>'.'<br /><span style="padding:2%;"><i>From: </i>'.ucfirst($hostel).'Hostel</span><br/>'.'<br/><br/>';
首先我提供了以下字符串:
Lorem ipsum dolor坐下来,精神上的精神。 Ut molestie luctus lectus,nec volutpat ipsum porta sit amet。 Phasellus ut egestas sapien。 Curabitur mauris erat,eleifend quis adipiscing sollicitudin,posuere tempor ante。 Lorem ipsum dolor坐下来,精致的adipistur elit。 Ut ut erat nibh。 Maecenas malesuada lacus pulvinar risus placerat convallis。在elit aliquam mollis a eu nisi的Cras vitae urna。 Nulla id molestie ante。 Aenean faucibus interdum nibh,在tristique dui viverra eu。 Nulla facilisi。整合在placerat augue。
Sed quis risus dolor,in tristique est.Maecenas non tellus vel quam blandit elementum。 Sed vestibulum dolor non mi eleifend luctus。 Proin interdum mollis congue。 Fusce quis consequat augue。整数dictum lectus在volutpat odio tincidunt的ligula egestas。 Sed placerat dictum velit quis dapibus。
Cras non quam ut neque auctor hendrerit。 Phasellus tincidunt dapibus metus,id rutrum purus fringilla vel。 Pellentesque ac sapien elit。 Maecenas nibh justo,lobortis id volutpat a,bibendum egestas enim。 Vivamus坐在amet justo vel tortor ullamcorper molestie ac sed nibh。 Donec adipiscing dui sed odio hendrerit quis aliquet turpis posuere。 Donec pharetra mi ut odio luctus sodales。 Donec elit nisi,cursus elementum cursus at,scelerisque quis ante。 Nunc vel ipsum ut nibh dictum tempus ut ut tortor。 Donec dignissim pharetra scelerisque。 Curabitur pellentesque urna在lacinia leo euismod的velit ultricies。 Nulla id dolor ut odio ultrices accumsan in id erat。 Aliquam lorem turpis,tristique nec tincidunt id,lacinia sit amet ante。
如果在尝试所有内容后这不起作用,我将字符串缩短为:
Lorem ipsum dolor坐下来,精神上的精神。 Ut molestie luctus lectus,nec volutpat ipsum porta sit amet。 Phasellus ut egestas sapien。 Curabitur mauris erat,eleifend quis adipiscing sollicitudin,posuere tempor ante。 Lorem ipsum dolor坐下来,精致的adipistur elit。 Ut ut erat nibh。 Maecenas malesuada lacus pulvinar risus placerat convallis。在elit aliquam mollis a eu nisi的Cras vitae urna。 Nulla id molestie ante。 Aenean faucibus interdum nibh,在tristique dui viverra eu。 Nulla facilisi。整合在placerat augue。
这有效!!
答案 0 :(得分:1)
如果javascript将其解析为字符串,它将在换行符中断开。 而不是[ENTER]你应该尝试使用\ n \ [ENTER] ..
答案 1 :(得分:0)
您的数据可能包含单引号或双引号。我会在htmlspecialchars
中包含你回忆的内容,这样这些以及任何其他有问题的HTML字符都不会破坏你的输出。
echo htmlspecialchars('<a href="javascript:void(0)" onclick="display(\''.ucfirst($subject).'\',\''.$notice.'\',\''.ucfirst($hostel).' Hostel'.'\',\''.$toid.'\')" style="padding:2%; text-decoration:none; color:#0033CC;">'.ucfirst($subject).'</a>'.'<br /><span style="padding:2%;"><i>From: </i>'.ucfirst($hostel).'Hostel</span><br/>'.'<br/><br/>');