Avatar billede mrg Nybegynder
16. april 2004 - 10:12 Der er 11 kommentarer og
1 løsning

Body Onload

Hej,

Jeg har en text editor som er et færdigt script. Der er blandt andet et textarea som på en eller anden måde kræver at der i <body> står onLoad="init()"...

Kunne nogen mon svare på følgende to spørgsmål ?
1) Hvad gør init () ????

2) Kan jeg sætte den et andet sted - såsom i <form> tag'et eller ? Grunden til at jeg spørger er at jeg arbejder med templates hvor <body> tag'et som default er låst, og jeg vil helst ikke sætte det ind på alle siderne...

Takker
Avatar billede riversen Nybegynder
16. april 2004 - 10:16 #1
1. den initialiserer formentlig teksteditoren... hvad der nøjagtigt sker, kan jeg ikke sige, da jeg ikke har koden.

2. du kan da prøve at skrive det umiddelbart under body
<script language="javascript" type="text/javascript">
init();
</script>
Avatar billede ldanielsen Nybegynder
16. april 2004 - 10:18 #2
init er ikke en fast javascript function. den må du kunne finde i scriptet et sted

Find ud af hvad den gør, så vil det måske vise sig at det kan ske på et andet tidspunkt. muligvis ved onClick på tekstfeltet, men så skal du programmere det så den kun køres ved det første klik, ellers vil det sikkert give problemer
Avatar billede mrg Nybegynder
16. april 2004 - 10:22 #3
Her er koden...

<?php
session_start();

//script til at lave indlæg for spillere
//Dette må gøres af alle også gæster.
// Det er vigtigt at hold_id er til stede, ellers ved systemet ikke hvilket hold indlægget tilhører.

require_once("global_user_validator.php");
require_once("db_connect.php");



    $hold_id = $_REQUEST['hold'];
    if (!$hold_id) {
        echo "Der er opstået en fejl. Manglende Hold_ID. Kontakt Systemadministrator.";
        return;
    }
    else {
        add_post_player();
    }

function add_post_player() {
    $width=475;
    $height=200;
    $content='';
   
    if (isset($_SESSION['username'])) {
        $username = $_SESSION['username'];
    }
    else {
        $username = "";
    }
   
?>

<script language = "JavaScript">
function savedocument() {
    document.saveform.content.value = null;
    document.saveform.content.value = iView.document.documentElement.outerHTML;
}
</script>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title>fcva.dk</title>
  <style type="text/css">
  body{
    font: normal 1em/1.7em Verdana, sans-serif;
  }
  h1{
    font: bold 1.8em Verdana, sans-serif;
  }
  h2{
    font: bold 1.6em Verdana, sans-serif;
  }
  h3{
    font: bold 1.4em Verdana, sans-serif;
  }
  h4{
    font: bold 1.2em Verdana, sans-serif;
  }
  h5{
    font: bold 1em Verdana, sans-serif;
  }
  h6{
    font: bold .8em Verdana, sans-serif;
  }
  .butClass{   
    border: #dfdfdf 1px solid;
    cursor: pointer;
  }
  li p,li h1,li h2,li h3,li h4,li h5,li h6{
    margin:0px;
    padding:0px;
  }
  </style>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body onLoad="Init()">
 
  <form method=POST enctype="multipart/form-data" name="saveform" onSubmit="savedocument()" action="update_post_player_database.php?hold=<?php echo $_REQUEST['hold']; ?>" id="WYSIWYGUpdateForm">
  <input type="hidden" name="MAX_FILE_SIZE" value="2097152">
  <input type="hidden" name="content">
  <script language="JavaScript" type="text/javascript" src="browserdetect.js"></script>
  <script language="JavaScript" type="text/javascript" src="editor.js"></script>
  Overskrift
  <input type="text" value="" size="50" name="overskrift">
  <br>
  Bruger

      <input type="text" value=" <?php echo $username; ?> " size="20" name="user">
   
    <textarea style="display: none;" id="iView_content" name="theText" rows="1" cols="1"><?php echo $content ?></textarea>
  <table cellpadding="5" cellspacing="0" border="2" bgcolor="#dfdfdf">
    <tr>
    <td>
      <table width="100%" border="0" cellspacing="0" cellpadding="0">   
      <tr>
        <td valign="top" colspan="2">
        <div id="toolbars">
                <img alt="Bold" title="Bold" class="butClass" src="images/T_bold.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_bold_down.gif')" onMouseUp="selUp(this, 'T_bold.gif')" onClick="DoTextFormat('bold','')">
                <img alt="Italic" title="Italic" class="butClass" src="images/T_italic.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_italic_down.gif')" onMouseUp="selUp(this,'T_italic.gif')" onClick="DoTextFormat('italic','')">
                <img alt="Underline" title="Underline" class="butClass" src="images/T_underline.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_underline_down.gif')" onMouseUp="selUp(this, 'T_underline.gif')" onClick="DoTextFormat('underline','')">
                <img alt="|" src="images/separator.png">
                <img alt="Left" title="Left" class="butClass" src="images/T_left.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_left_down.gif')" onMouseUp="selUp(this, 'T_left.gif')" onClick="DoTextFormat('justifyleft','')">
                <img alt="Center" title="Center" class="butClass" src="images/T_center.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_center_down.gif')" onMouseUp="selUp(this, 'T_center.gif')" onClick="DoTextFormat('justifycenter','')">
                <img alt="Right" title="Right" class="butClass" src="images/T_right.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_right_down.gif')" onMouseUp="selUp(this, 'T_right.gif')" onClick="DoTextFormat('justifyright','')">
                <img alt="|" src="images/separator.png">
                <img alt="Ordered List" title="Ordered List" class="butClass" src="images/T_orderedlist.gif"  onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this,'T_orderedlist_down.gif')" onMouseUp="selUp(this, 'T_orderedlist.gif')" onClick="DoTextFormat('insertorderedlist','')">
                <img alt="Bulleted List" title="Bulleted List" class="butClass" src="images/T_bulletedlist.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_bulletedlist_down.gif')" onMouseUp="selUp(this, 'T_bulletedlist.gif')" onClick="DoTextFormat('insertunorderedlist','')">
                <img alt="Indent" title="Indent" src="images/T_indent.gif" class=butClass onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_indent_down.gif')" onMouseUp="selUp(this, 'T_indent.gif')" onClick="DoTextFormat('indent','')">
                <img alt="Outdent" title="Outdent" src="images/T_outdent.gif" class=butClass onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_outdent_down.gif')" onMouseUp="selUp(this, 'T_outdent.gif')" onClick="DoTextFormat('outdent','')">
                <img alt="|" src="images/separator.png">
                <img alt="Horizontal Rule" title="Horizontal Rule" class="butClass" src="images/T_line.gif" onMouseOver="selOn(this)" onMouseOut="selOff(this)" onMouseDown="selDown(this, 'T_line_down.gif')" onMouseUp="selUp(this, 'T_line.gif')" onClick="DoTextFormat('inserthorizontalrule','')">
        </div>
        </td>
      </tr>
      </table>
      <iframe id="iView" style="margin-left: 3px; background-color: white; color: black; width:<?php echo $width ?>px; height:<?php echo $height ?>px"></iframe>
      <table width="<?php echo $width ?>" border="0" cellspacing="0" cellpadding="0" bgcolor="#dfdfdf">   
      <tr>
        <td>
        </td>
        <td  align="right">

            </td>
      </tr>
      </table>
    </td>
    </tr>
  </table>
  <br>
  <input type=submit value="Submit" name="WYSIWYG_submit"><br><br>
  </form>
  </body>
</html>

<?php } ?>
Avatar billede mrg Nybegynder
16. april 2004 - 10:23 #4
Jeg kan sgu ikke lige se hvad init() refererer til - men det virkede ikke at sætte det ind i headeren inden <body>
Avatar billede ldanielsen Nybegynder
16. april 2004 - 10:44 #5
<script language="JavaScript" type="text/javascript" src="browserdetect.js"></script>
  <script language="JavaScript" type="text/javascript" src="editor.js"></script>

function Init() findes nok i en af dem
Avatar billede mrg Nybegynder
16. april 2004 - 10:52 #6
Ah...jep...

function Init(){
    document.getElementById('iView').contentWindow.document.designMode='On';

    var my_content=document.getElementById('iView_content').value;
    document.getElementById('iView').contentWindow.document.open();
    document.getElementById('iView').contentWindow.document.write(my_content);
    document.getElementById('iView').contentWindow.document.close();
}

Kan jeg så ikke bare klippe den over i den første fil ? Og sætte den ind over <body> ???
Avatar billede mrg Nybegynder
16. april 2004 - 10:53 #7
Og hvordan skal den så 'sættes ind' ??
Avatar billede mrg Nybegynder
16. april 2004 - 10:55 #8
Eller kan jeg stadig kalde den fra 'oversiden' ved hjælp af noget function-noget ?
Avatar billede ldanielsen Nybegynder
16. april 2004 - 11:01 #9
var InitIsDone = false;
function Init(){
    if (!InitIsDone){
      document.getElementById('iView').contentWindow.document.designMode='On';
      var my_content=document.getElementById('iView_content').value;
      document.getElementById('iView').contentWindow.document.open();
      document.getElementById('iView').contentWindow.document.write(my_content);
      document.getElementById('iView').contentWindow.document.close();
      InitIsDone = true;
      }
} 


og så kan du sætte onClick="Init();" på fx. textarea'et
Avatar billede mrg Nybegynder
16. april 2004 - 11:04 #10
Hmmm...hvor skal det sættes ind ? I function'en i Editor.js ?

Og hvis jeg laver det via onClick - kan man så stadig skifte fra de andre textareas vha TAB eller kræver det så et reelt museklik...det er jeg jo ikke interesseret i...
Avatar billede ldanielsen Nybegynder
16. april 2004 - 11:04 #11
det jeg mener er at du skal rette functionen så den ser ud som jeg viser, men lade den stå hvor den gør nu.

du skal måske i stedet lave en knap det "tænder for" editoren.

Grunden til at denne function først skal køres efter at siden er loaded er at de elementer den refererer til ellers ikke findes.
Avatar billede mrg Nybegynder
16. april 2004 - 11:08 #12
Ah...nu begynder jeg at fatte hvordan det hele hænger sammen.

Kan man ikke sætte init ind efter textarea'et ???

Den med onClick virker umiddelbart ikke...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester