Frank: Textfeld mit Return abschicken - kann mir jemand das script erklären???

Hi,

ich habe nochmal im web gesucht und eine seite gefunden, auf der ein mehrzeiliges textfeld mit return abgeschickt werden kann.
leider enthält dieses script darüber hinaus noch einiges an "überflüssigen" Dingen. kann mir jemand sagen, welchen teil des scripts ich genau für das abschicken mit return brauche und was ich daraus löschen kann?

schon jetzt 1000 dank.

und hier kommt das script...

-------------------------------------------------------------

<html>
<head>
  <script language="JavaScript">
  <!--
   var can_send_message = true;
   var hold_state = false;
   var timeout = -1;

function CMSSIDPropTable() {
    //NOP
   }

function replacetokens(inpmsg) {
    var str = new String(inpmsg);
    var retVal = new String("");
    for (var i = 0; i < str.length; i++) {
     ch = str.charAt(i);
     if (ch == "<")
      retVal += "<";
     else
      retVal += ch;
    }
    inpmsg = retVal;

var tokenvals = new CMSSIDPropTable();
    var tokens = new Array();
    var pos1,pos2,tokenval,ipos;
    var imsg = new String(inpmsg);
    var msg0 = new String(imsg.toLowerCase());
    for (i = 0; i < tokens.length; i++) {
     ipos = 0;
     tokenval = tokenvals[tokens[i]];
     while ((pos1 = msg0.indexOf(tokens[i],ipos)) >= 0) {
      ipos = pos1 + tokenval.length;
      pos2 = pos1 + tokens[i].length;
      imsg = imsg.substring(0,pos1) + tokenval + imsg.substring(pos2);
      msg0 = msg0.substring(0,pos1) + tokenval + msg0.substring(pos2);
     }
    }
    return("" + imsg);
   }

function hangup() {
    if (document.forms['send_message'].elements['message'].value.length == 0)
     document.forms['hangup'].elements['text'].value = "The call has ended.";
    else
     document.forms['hangup'].elements['text'].value = document.forms['send_message'].elements['message'].value;

document.forms['hangup'].cid.value = parent._cid;
    document.forms['hangup'].sid.value = parent._sid;
    document.forms['hangup'].submit();
    timeout = setTimeout("clearForm()", 15);
   }
    
   function showForm() {
top.location = "/scripts/call/client_call_exit.asp" +
     "?embedded=False" +
     "&cid=" + escape(parent._cid) +
     "&sid=" + escape(parent._sid) +
     "&aname=" + escape(parent._aname) +
     "&gname=" + escape(parent._gname);
   }

function checkForm() {
    doSwap();
   }

function doSwap() {
    document.forms['action_send_message'].cid.value=parent._cid;
    document.forms['action_send_message'].sid.value=parent._sid;
    document.forms['action_send_message'].elements['text'].value=replacetokens(document.forms['send_message'].elements['message'].value);
    if (document.forms['action_send_message'].elements['text'].value.length > 0)
     document.forms['action_send_message'].submit();
    timeout = setTimeout("clearForm()", 15);
   }

function delayedUpdate() {
    if (parent) {
     if (parent.input) {
      if (parent.input.update) {
       parent.input.update();
      }
     }
     if (parent.parent) {
      if (parent.parent.input) {
       if (parent.parent.input.update) {
        parent.parent.input.update();
       }
      }
     }
    }
   }
  
   function clearForm() {
    // this is for browsers that don't support ""
    document.forms[0].elements[1].value="";
    document.forms[0].elements[1].focus();
    setTimeout("delayedUpdate();", 500);
   }
  //-->
  </script>
</head>

<body TEXT="#333333" LINK="CC6600" VLINK="666600" ALINK="#FFFFFF" BGCOLOR="#FFFFFF">  

<form action="sendmessage" method="post" name="send_message">  
   <input TYPE="hidden" NAME="action" VALUE="put">
   <table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
    <tr>
     <td ALIGN="CENTER" VALIGN="TOP">
      <table BORDER="0" CELLPADDING="0" CELLSPACING="0">
       <tr>
        <td colspan="3" valign="top">
         <textarea NAME="message" wrap="physical" COLS="32" ROWS="2"></textarea>
        </td>
       </tr>
       <tr>
        <td align="left">
         <a HREF="javascript:checkForm();"><img src="/images/locale/en/caller_send.gif" BORDER="0" alt="Send"></a>
        </td>
        <td align="right">
         <a HREF="javascript:hangup();"><img src="/images/locale/en/caller_end_call.gif" BORDER="0" alt="Hang Up"></a>
        </td>
       </tr>
      </table>
     </td>
    </tr>
   </table>
   <input type="hidden" name="cid">
   <input type="hidden" name="sid">
  </form>

<script language="Javascript">
  <!--
   // this corrects a situation with PC NS 4.03 (possibly others) which
   // throws an annoying but harmless error.  It says "error ^^^0E"
   // when the operator attempts to focus on the textarea.
   document.forms[0].elements[1].focus();

var sendKey = 13;
   var NS = document.layers ? true : false;
   var IE = document.all ? true : false;
  
   function keyPress(event_ns) {
    if (NS) {
     if (event_ns.target == document.send_message.message) {
      if ((event_ns.which == sendKey) && !(event_ns.modifiers && Event.SHIFT_MASK)) {
       checkForm();
      }
     }
    } else if (IE) {
      if ((event.keyCode == sendKey) && !(event.shiftKey)) {
       checkForm();
      }
    }
   }

if (NS) {
    document.captureEvents(Event.KEYPRESS);
    document.onkeypress = keyPress;
   } else if (IE) {
    document.send_message.message.onkeypress = keyPress;
   }
  //-->
  </script>
  <form name="action_send_message" action="msg_send.asp" target="chatbladder" METHOD="POST">
   <input type="hidden" name="cid">
   <input type="hidden" name="sid">
   <input type="hidden" name="perm" value="7">
   <input type="hidden" name="text">
   <input type="hidden" name="mime_type" value="text/html">
  </form>
  <form name="hangup" action="call_shutdown.asp" target="chatbladder" METHOD="POST">
   <input type="hidden" name="cid">
   <input type="hidden" name="sid">
   <input type="hidden" name="perm" value="7">
   <input type="hidden" name="text">
   <input type="hidden" name="mime_type" value="text/html">
   <input type="hidden" name="ccode" value="0">
  </form>
</body>
</html>

  1. Hi
    Du brauchst nur den zweiten Javascirptteil, der im body steht! Und die zwei Formulare, die nur aus hidden values bestehen brauchst du auch nicht. Das einzige was du dann noch anpassen musst, ist der Name deines Formulars, und der Name der Textarea. Ich wuerde allerdings an deiner Stelle die Finger davon lassen, weil man ruckzuck ausversehen die Returntaste drueckt, ohne daran zu denken, dass dann das Formular abgesendet wird. Wenn du sowas schon machst, dann wuerde ich immer noch eine Abfrage machen, ob der User das Formular wirklich abschicken will.
    Die beiden Verweise auf die unteren (dann von dir geloeschten) Formulare brauchst du natuerlich auch nicht.
    (         <a HREF="javascript:checkForm();"><img src="/images/locale/en/caller_send.gif" BORDER="0" alt="Send"></a> bzw.
    <a HREF="javascript:hangup();"><img src="/images/locale/en/caller_end_call.gif" BORDER="0" alt="Hang Up"></a>)
    Ebenso alle hidden inputs in deinem Formular.
    Tschau Holger