2010-08-19 65 views
0

Javascript CSS问题:1 javascript/css问题2 perl cgi问题

我正在使用textarea框来写入div。我得到textarea的框中使用以下JavaScript来做到这一点:

<script type="text/javascript"> 

    function process_input(){ 
    document.getElementById("description").innerHTML = document.getElementById("message").value; 
    return true; 
    } 
</script> 

我的风格股利有白色空间:预包装它在Firefox但不是在IE工作。有谁知道一个CSS规则或一些额外的JavaScript,以使div反映在文本框中输入的回车符还可以输入到div中?

我正在使用perl cgi脚本,其他人开始使用作为ecard发送的背景图像的文本。这里是Perl CGI脚本:

#!/usr/local/bin/perl5 

use CGI; 
use GD; 
use CommonSubs; 
use DBI; 

use dbInfo; 

$q = new CGI; 


$userInfo= &CommonSubs::DirInfo($userId); 

$user = $ENV{'REMOTE_USER'}; 
$from = $q->param('from'); 
$to = $q->param('to'); 
$cc = $q->param('cc_manager'); 
$card = $q->param('card'); 
$message = $q->param('message'); 



my %availableCards = ("card1" => "large_card_1.jpg", 
     "card2" => "large_card_2.jpg", 
     "card3" => "large_card_3.jpg", 
     "card4" => "large_card_4.jpg", 
     "card5" => "large_card_5.jpg", 
     "card6" => "large_card_6.jpg", 
     "card7" => "large_card_7.jpg", 
     "card8" => "large_card_8.jpg", 
     "card9" => "large_card_9.jpg"); 

my $cardToUse = $availableCards{$card}; 
my $emailContent = ""; 

$text = $message; 
@lines = split(/\n/, $text); 
$lCnt .= $#lines+1; 
$lineStart = 80; 
$lineHeight = 24; 



$container = "..../root-wwwin/htdocs".$cardToUse; 
$font = "....verdana.ttf"; 




$image = GD::Image->newFromJpeg($container); 


$txtColor = $image->colorResolve(0,0,0); 

for ($i=0; $i<$lCnt; ++$i){ 
$xPos = 375; 
$yPos = $lineStart + ($lineHeight*$i); 
@bounds = $image->stringTTF($txtColor,$font,13,0,$xPos,$yPos,@lines[$i]); 
} 


$ts = time(); 
$imgFile = "ecard_".$user."_".$ts.".jpeg"; 

open(IMGFILE, "...$imgFile"); 
binmode IMGFILE; 
print IMGFILE $image->jpeg; 
close (IMGFILE); 

$img = "<img border=0 src=\"...$imgFile\" />"; 

$emailContent = <<HTML; 


$card 


HTML 


&CommonSubs::sendEmail("$to\@xxx.com","$from\@xxx.com","$cc\@xxx.com",  "","$bcc\@xxx.com",$emailContent); 

print "Content-type: text/html\n\n"; 
print "$img"; 
print "ecard sent"; 

我需要的是采用Perl CGI代码,以使在其上使用作为HTML的背景下,当它通过sendmail的发送图像的顶部的文本换行。

在此先感谢您的帮助。

+3

你或许应该分开你的问题分成两付。你会得到更好的答案。 – Strelok 2010-08-19 06:47:47

回答

0

对于你的CSS问题,请尝试以下方式:

.wordwrap { 
    white-space: pre-wrap;  
    word-wrap: break-word;  
    _white-space: pre; 
} 

没错,下划线是有原因的。

1

预包装替代

.wordwrap { 
    white-space: pre-wrap;  /* css-3 should we be so lucky... */ 
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ 
    white-space: -pre-wrap;  /* Opera 4-6 ?? */ 
    white-space: -o-pre-wrap; /* Opera 7 ?? */ 
    word-wrap: break-word;  /* Internet Explorer 5.5+ */ 
    _white-space: pre; /* IE only hack to re-specify in addition to 
    word-wrap */ 
    } 
+0

感谢您的回复。这适用于Firefox,但不适用于IE。当您在textarea框中输入时,div不会显示新行或回车。 – seeker7805 2010-08-19 16:09:58

+0

@ seeker7805:您使用的是哪个版本的IE? – 2010-08-20 04:36:21

+0

喜Nikhill: 我使用IE 8 问候, seeker7805 – seeker7805 2010-08-21 19:29:49