【问题标题】:1 javascript/css issue 2 perl cgi issues1 javascript/css 问题 2 perl cgi 问题
【发布时间】:2023-03-23 23:40:01
【问题描述】:

Javascript CSS 问题:

我正在使用 textarea 框写入 div。我使用以下 javascript 让 textarea 框执行此操作:

<script type="text/javascript">

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

我将 div 设置为 white-space:pre-wrap ,它在 Firefox 中有效,但在 IE 中无效。有谁知道css规则或一些额外的javascript来使div反映在文本框中输入的回车也可以在div中输入?

我正在处理 perl cgi 脚本,其他人开始将使用背景图像的文本作为电子贺卡发送。这是 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 代码,以便在通过 sendmail 发送图像时将文本包裹在用作 html 中的背景的图像之上。

提前感谢您的帮助。

【问题讨论】:

  • 您可能应该将您的问题分成 2 个单独的问题。你会得到更好的答案。

标签: javascript css perl cgi


【解决方案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  */
     }

【讨论】:

  • 感谢您的回复。这适用于 Firefox,但不适用于 IE。当您在 textarea 框中按回车键时,div 不会显示新行或回车。
  • @seeker7805: 你用的是哪个版本的IE?
  • 嗨 Nikhill:我正在使用 IE 8。问候,seeker7805
  • @seeker7805:试试看这个链接msdn.microsoft.com/en-us/library/cc304082(VS.85).aspx,对你有帮助。
【解决方案2】:

对于您的 CSS 问题,请尝试以下样式:

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

是的,下划线的存在是有原因的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-05
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2022-06-11
    • 2013-02-15
    • 1970-01-01
    相关资源
    最近更新 更多