Tomi: JSP-Javascript Variablen übergeben...

Hallo

Wahrscheinlich wurde diese Frage schon mehrmals gestellt, hab aber im Archiv (noch) nichts brauchbares gefunden.
Ich möchte in einer JSP Seite Variablen einer Javascript Funktion übergeben und damit bewirken, dass sich die Zeile, die angeklickt wurde verändert.
Aber schaut euch doch den Source selber an:

<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="/examples/jsp/test/css/ais.css" type="text/css">
<script language="javascript" type="text/javascript">
//Activate, Disactivate Menulines
var active = false;
var activerow, activefeld1, activefeld2, activefeld3, activefeld4,
 activeelementrow, activeelementfeld1, activeelementfeld2,
 activeelementfeld3, activeelementfeld4;
var zeit, zug, gleis, text;

function activateRow(row, feld1, feld2, feld3, feld4)
{
 if (active == true  && activerow == row)
 {
 // Restore the specified class.
 removeClassName(activeelementrow, "timetableRowActive");
   removeClassName(activeelementfeld1, "timetableBigTextActive");
  removeClassName(activeelementfeld2, "timetableBigTextActive");
   removeClassName(activeelementfeld3, "timetableBigTextActive");
 removeClassName(activeelementfeld4, "timetableTextActive");
 active = false;
 activerow = null;
 activefeld1 = null;
 activefeld2 = null;
 activefeld3 = null;
 activefeld4 = null;
 return;
 }

if (active == false && activerow != row)
 {
 // Activate the specified class if the line is the same.
 variables(row, feld1, feld2, feld3, feld4);
 active = true;

return;
 }
 // Activate the specified class if the line is not the same.
 if (active == true && activerow != row)
 {
 removeClassName(activeelementrow, "timetableRowActive");
   removeClassName(activeelementfeld1, "timetableBigTextActive");
  removeClassName(activeelementfeld2, "timetableBigTextActive");
   removeClassName(activeelementfeld3, "timetableBigTextActive");
 removeClassName(activeelementfeld4, "timetableTextActive");
 variables(row, feld1, feld2, feld3, feld4);
 active = true;
 }
}

function variables(row, feld1, feld2, feld3, feld4)
{
 element = document.getElementById(row);
 activeelementrow = element;
 activerow = row;
 element.className += " timetableRowActive";
 element = document.getElementById(feld1);
 activeelementfeld1 = element;
 activefeld1 = feld1;
   element.className += " timetableBigTextActive";
 element = document.getElementById(feld2);
 activeelementfeld2 = element;
 activefeld2 = feld2;
 element.className += " timetableBigTextActive"
   element = document.getElementById(feld3);
 activeelementfeld3 = element;
 activefeld3 = feld3;
  element.className += " timetableBigTextActive";
 element = document.getElementById(feld4);
 activeelementfeld4 = element;
 activefeld4 = feld4;
  element.className += " timetableTextActive";
 }

// Remove the given class name from the element's className property.
function removeClassName(el, name)
{
  var i, curList, newList;

if (el.className == null)
  return;

newList = new Array();
  curList = el.className.split(" ");
  for (i = 0; i < curList.length; i++)
    if (curList[i] != name)
      newList.push(curList[i]);
  el.className = newList.join(" ");
 }

</script>
</head>
<%

String zeit, zug, gleis, text;
int eins=1;
int zwei=2;
zeit="14:00";
zug="BE13";
gleis="5";
text="Der Zug fährt von Bern nach Thun";
%>

<body class="frame">
<%
out.println("<table width=100% border=0 cellspacing=0 cellpadding=0 align=center>");
out.println("<form name=form1 method=post action=>");

for (int i=1; i<=5; i++)
 {
 out.println("<tr id=zeile"+ i +" class=timetableRow"+ eins +" onclick=activateRow(testzeile"+ i +",zeit"+ i +",zug"+ i +",gleis"+ i +",text"+ i +")>");
 out.println("<td width=10% valign=middle height=65>");
 out.println("<p id=zeit"+ i +" class=timetableBigText>"+ zeit +"</p></td>");
 out.println("<td width=10% valign=middle height=65>");
 out.println("<p id=zug"+ i +" class=timetableBigText>"+ zug +"</p></td>");
 out.println("<td width=10% valign=middle height=65>");
 out.println("<p id=gleis"+ i +" class=timetableBigText>"+ gleis +"</p></td>");
 out.println("<td width=65% height=65>");
 out.println("<p id=text"+ i +" class=timetableText>"+ text +"</p></td></tr>");
 }
out.println("</form></table>");
%>
</body>
</html>

die Stylesheet datei ais.css enthält die verschiedenen Styles der Texte.
Das ganze ist noch nicht komplett fertig, ich möchte nur wissen, wie ich die variablen zeit, zug, gleis und text der Javascript Funktion übergeben kann...und ob das überhaupt möglich ist??? (Sie werden leer [object] übergeben.)

Danke für eure Hilfe.

Gruss Tomi

  1. du musst die removeClassName - klasse neu emulieren!
    so kann es nicht gehen!

    Hallo

    Wahrscheinlich wurde diese Frage schon mehrmals gestellt, hab aber im Archiv (noch) nichts brauchbares gefunden.
    Ich möchte in einer JSP Seite Variablen einer Javascript Funktion übergeben und damit bewirken, dass sich die Zeile, die angeklickt wurde verändert.
    Aber schaut euch doch den Source selber an:

    <html>
    <head>
    <title>Test</title>
    <link rel="stylesheet" href="/examples/jsp/test/css/ais.css" type="text/css">
    <script language="javascript" type="text/javascript">
    //Activate, Disactivate Menulines
    var active = false;
    var activerow, activefeld1, activefeld2, activefeld3, activefeld4,
     activeelementrow, activeelementfeld1, activeelementfeld2,
     activeelementfeld3, activeelementfeld4;
    var zeit, zug, gleis, text;

    function activateRow(row, feld1, feld2, feld3, feld4)
    {
     if (active == true  && activerow == row)
     {
     // Restore the specified class.
     removeClassName(activeelementrow, "timetableRowActive");
       removeClassName(activeelementfeld1, "timetableBigTextActive");
      removeClassName(activeelementfeld2, "timetableBigTextActive");
       removeClassName(activeelementfeld3, "timetableBigTextActive");
     removeClassName(activeelementfeld4, "timetableTextActive");
     active = false;
     activerow = null;
     activefeld1 = null;
     activefeld2 = null;
     activefeld3 = null;
     activefeld4 = null;
     return;
     }

    if (active == false && activerow != row)
     {
     // Activate the specified class if the line is the same.
     variables(row, feld1, feld2, feld3, feld4);
     active = true;

    return;
     }
     // Activate the specified class if the line is not the same.
     if (active == true && activerow != row)
     {
     removeClassName(activeelementrow, "timetableRowActive");
       removeClassName(activeelementfeld1, "timetableBigTextActive");
      removeClassName(activeelementfeld2, "timetableBigTextActive");
       removeClassName(activeelementfeld3, "timetableBigTextActive");
     removeClassName(activeelementfeld4, "timetableTextActive");
     variables(row, feld1, feld2, feld3, feld4);
     active = true;
     }
    }

    function variables(row, feld1, feld2, feld3, feld4)
    {
     element = document.getElementById(row);
     activeelementrow = element;
     activerow = row;
     element.className += " timetableRowActive";
     element = document.getElementById(feld1);
     activeelementfeld1 = element;
     activefeld1 = feld1;
       element.className += " timetableBigTextActive";
     element = document.getElementById(feld2);
     activeelementfeld2 = element;
     activefeld2 = feld2;
     element.className += " timetableBigTextActive"
       element = document.getElementById(feld3);
     activeelementfeld3 = element;
     activefeld3 = feld3;
      element.className += " timetableBigTextActive";
     element = document.getElementById(feld4);
     activeelementfeld4 = element;
     activefeld4 = feld4;
      element.className += " timetableTextActive";
     }

    // Remove the given class name from the element's className property.
    function removeClassName(el, name)
    {
      var i, curList, newList;

    if (el.className == null)
      return;

    newList = new Array();
      curList = el.className.split(" ");
      for (i = 0; i < curList.length; i++)
        if (curList[i] != name)
          newList.push(curList[i]);
      el.className = newList.join(" ");
     }

    </script>
    </head>
    <%

    String zeit, zug, gleis, text;
    int eins=1;
    int zwei=2;
    zeit="14:00";
    zug="BE13";
    gleis="5";
    text="Der Zug fährt von Bern nach Thun";
    %>

    <body class="frame">
    <%
    out.println("<table width=100% border=0 cellspacing=0 cellpadding=0 align=center>");
    out.println("<form name=form1 method=post action=>");

    for (int i=1; i<=5; i++)
     {
     out.println("<tr id=zeile"+ i +" class=timetableRow"+ eins +" onclick=activateRow(testzeile"+ i +",zeit"+ i +",zug"+ i +",gleis"+ i +",text"+ i +")>");
     out.println("<td width=10% valign=middle height=65>");
     out.println("<p id=zeit"+ i +" class=timetableBigText>"+ zeit +"</p></td>");
     out.println("<td width=10% valign=middle height=65>");
     out.println("<p id=zug"+ i +" class=timetableBigText>"+ zug +"</p></td>");
     out.println("<td width=10% valign=middle height=65>");
     out.println("<p id=gleis"+ i +" class=timetableBigText>"+ gleis +"</p></td>");
     out.println("<td width=65% height=65>");
     out.println("<p id=text"+ i +" class=timetableText>"+ text +"</p></td></tr>");
     }
    out.println("</form></table>");
    %>
    </body>
    </html>

    die Stylesheet datei ais.css enthält die verschiedenen Styles der Texte.
    Das ganze ist noch nicht komplett fertig, ich möchte nur wissen, wie ich die variablen zeit, zug, gleis und text der Javascript Funktion übergeben kann...und ob das überhaupt möglich ist??? (Sie werden leer [object] übergeben.)

    Danke für eure Hilfe.

    Gruss Tomi

    1. du musst die removeClassName - klasse neu emulieren!
      so kann es nicht gehen!

      er kann aber auch den Wert neu ermitteln!

      Hagi

      Hallo

      Wahrscheinlich wurde diese Frage schon mehrmals gestellt, hab aber im Archiv (noch) nichts brauchbares gefunden.
      Ich möchte in einer JSP Seite Variablen einer Javascript Funktion übergeben und damit bewirken, dass sich die Zeile, die angeklickt wurde verändert.
      Aber schaut euch doch den Source selber an:

      <html>
      <head>
      <title>Test</title>
      <link rel="stylesheet" href="/examples/jsp/test/css/ais.css" type="text/css">
      <script language="javascript" type="text/javascript">
      //Activate, Disactivate Menulines
      var active = false;
      var activerow, activefeld1, activefeld2, activefeld3, activefeld4,
       activeelementrow, activeelementfeld1, activeelementfeld2,
       activeelementfeld3, activeelementfeld4;
      var zeit, zug, gleis, text;

      function activateRow(row, feld1, feld2, feld3, feld4)
      {
       if (active == true  && activerow == row)
       {
       // Restore the specified class.
       removeClassName(activeelementrow, "timetableRowActive");
         removeClassName(activeelementfeld1, "timetableBigTextActive");
        removeClassName(activeelementfeld2, "timetableBigTextActive");
         removeClassName(activeelementfeld3, "timetableBigTextActive");
       removeClassName(activeelementfeld4, "timetableTextActive");
       active = false;
       activerow = null;
       activefeld1 = null;
       activefeld2 = null;
       activefeld3 = null;
       activefeld4 = null;
       return;
       }

      if (active == false && activerow != row)
       {
       // Activate the specified class if the line is the same.
       variables(row, feld1, feld2, feld3, feld4);
       active = true;

      return;
       }
       // Activate the specified class if the line is not the same.
       if (active == true && activerow != row)
       {
       removeClassName(activeelementrow, "timetableRowActive");
         removeClassName(activeelementfeld1, "timetableBigTextActive");
        removeClassName(activeelementfeld2, "timetableBigTextActive");
         removeClassName(activeelementfeld3, "timetableBigTextActive");
       removeClassName(activeelementfeld4, "timetableTextActive");
       variables(row, feld1, feld2, feld3, feld4);
       active = true;
       }
      }

      function variables(row, feld1, feld2, feld3, feld4)
      {
       element = document.getElementById(row);
       activeelementrow = element;
       activerow = row;
       element.className += " timetableRowActive";
       element = document.getElementById(feld1);
       activeelementfeld1 = element;
       activefeld1 = feld1;
         element.className += " timetableBigTextActive";
       element = document.getElementById(feld2);
       activeelementfeld2 = element;
       activefeld2 = feld2;
       element.className += " timetableBigTextActive"
         element = document.getElementById(feld3);
       activeelementfeld3 = element;
       activefeld3 = feld3;
        element.className += " timetableBigTextActive";
       element = document.getElementById(feld4);
       activeelementfeld4 = element;
       activefeld4 = feld4;
        element.className += " timetableTextActive";
       }

      // Remove the given class name from the element's className property.
      function removeClassName(el, name)
      {
        var i, curList, newList;

      if (el.className == null)
        return;

      newList = new Array();
        curList = el.className.split(" ");
        for (i = 0; i < curList.length; i++)
          if (curList[i] != name)
            newList.push(curList[i]);
        el.className = newList.join(" ");
       }

      </script>
      </head>
      <%

      String zeit, zug, gleis, text;
      int eins=1;
      int zwei=2;
      zeit="14:00";
      zug="BE13";
      gleis="5";
      text="Der Zug fährt von Bern nach Thun";
      %>

      <body class="frame">
      <%
      out.println("<table width=100% border=0 cellspacing=0 cellpadding=0 align=center>");
      out.println("<form name=form1 method=post action=>");

      for (int i=1; i<=5; i++)
       {
       out.println("<tr id=zeile"+ i +" class=timetableRow"+ eins +" onclick=activateRow(testzeile"+ i +",zeit"+ i +",zug"+ i +",gleis"+ i +",text"+ i +")>");
       out.println("<td width=10% valign=middle height=65>");
       out.println("<p id=zeit"+ i +" class=timetableBigText>"+ zeit +"</p></td>");
       out.println("<td width=10% valign=middle height=65>");
       out.println("<p id=zug"+ i +" class=timetableBigText>"+ zug +"</p></td>");
       out.println("<td width=10% valign=middle height=65>");
       out.println("<p id=gleis"+ i +" class=timetableBigText>"+ gleis +"</p></td>");
       out.println("<td width=65% height=65>");
       out.println("<p id=text"+ i +" class=timetableText>"+ text +"</p></td></tr>");
       }
      out.println("</form></table>");
      %>
      </body>
      </html>

      die Stylesheet datei ais.css enthält die verschiedenen Styles der Texte.
      Das ganze ist noch nicht komplett fertig, ich möchte nur wissen, wie ich die variablen zeit, zug, gleis und text der Javascript Funktion übergeben kann...und ob das überhaupt möglich ist??? (Sie werden leer [object] übergeben.)

      Danke für eure Hilfe.

      Gruss Tomi

      1. du musst die removeClassName - klasse neu emulieren!
        so kann es nicht gehen!

        er kann aber auch den Wert neu ermitteln!

        Hagi

        Welchen Wert neu ermitteln??? Wieso removeClassName neu definieren?
        Ich komme gar nicht bis zu diesem Punkt removeClassName. Ohne JSP funktionierts, da wird die Zeile wieder desaktiviert...aber mit JSP kann ich nicht mal die variablen übergeben....grmpf....

        Hallo

        Wahrscheinlich wurde diese Frage schon mehrmals gestellt, hab aber im Archiv (noch) nichts brauchbares gefunden.
        Ich möchte in einer JSP Seite Variablen einer Javascript Funktion übergeben und damit bewirken, dass sich die Zeile, die angeklickt wurde verändert.
        Aber schaut euch doch den Source selber an:

        <html>
        <head>
        <title>Test</title>
        <link rel="stylesheet" href="/examples/jsp/test/css/ais.css" type="text/css">
        <script language="javascript" type="text/javascript">
        //Activate, Disactivate Menulines
        var active = false;
        var activerow, activefeld1, activefeld2, activefeld3, activefeld4,
         activeelementrow, activeelementfeld1, activeelementfeld2,
         activeelementfeld3, activeelementfeld4;
        var zeit, zug, gleis, text;

        function activateRow(row, feld1, feld2, feld3, feld4)
        {
         if (active == true  && activerow == row)
         {
         // Restore the specified class.
         removeClassName(activeelementrow, "timetableRowActive");
           removeClassName(activeelementfeld1, "timetableBigTextActive");
          removeClassName(activeelementfeld2, "timetableBigTextActive");
           removeClassName(activeelementfeld3, "timetableBigTextActive");
         removeClassName(activeelementfeld4, "timetableTextActive");
         active = false;
         activerow = null;
         activefeld1 = null;
         activefeld2 = null;
         activefeld3 = null;
         activefeld4 = null;
         return;
         }

        if (active == false && activerow != row)
         {
         // Activate the specified class if the line is the same.
         variables(row, feld1, feld2, feld3, feld4);
         active = true;

        return;
         }
         // Activate the specified class if the line is not the same.
         if (active == true && activerow != row)
         {
         removeClassName(activeelementrow, "timetableRowActive");
           removeClassName(activeelementfeld1, "timetableBigTextActive");
          removeClassName(activeelementfeld2, "timetableBigTextActive");
           removeClassName(activeelementfeld3, "timetableBigTextActive");
         removeClassName(activeelementfeld4, "timetableTextActive");
         variables(row, feld1, feld2, feld3, feld4);
         active = true;
         }
        }

        function variables(row, feld1, feld2, feld3, feld4)
        {
         element = document.getElementById(row);
         activeelementrow = element;
         activerow = row;
         element.className += " timetableRowActive";
         element = document.getElementById(feld1);
         activeelementfeld1 = element;
         activefeld1 = feld1;
           element.className += " timetableBigTextActive";
         element = document.getElementById(feld2);
         activeelementfeld2 = element;
         activefeld2 = feld2;
         element.className += " timetableBigTextActive"
           element = document.getElementById(feld3);
         activeelementfeld3 = element;
         activefeld3 = feld3;
          element.className += " timetableBigTextActive";
         element = document.getElementById(feld4);
         activeelementfeld4 = element;
         activefeld4 = feld4;
          element.className += " timetableTextActive";
         }

        // Remove the given class name from the element's className property.
        function removeClassName(el, name)
        {
          var i, curList, newList;

        if (el.className == null)
          return;

        newList = new Array();
          curList = el.className.split(" ");
          for (i = 0; i < curList.length; i++)
            if (curList[i] != name)
              newList.push(curList[i]);
          el.className = newList.join(" ");
         }

        </script>
        </head>
        <%

        String zeit, zug, gleis, text;
        int eins=1;
        int zwei=2;
        zeit="14:00";
        zug="BE13";
        gleis="5";
        text="Der Zug fährt von Bern nach Thun";
        %>

        <body class="frame">
        <%
        out.println("<table width=100% border=0 cellspacing=0 cellpadding=0 align=center>");
        out.println("<form name=form1 method=post action=>");

        for (int i=1; i<=5; i++)
         {
         out.println("<tr id=zeile"+ i +" class=timetableRow"+ eins +" onclick=activateRow(testzeile"+ i +",zeit"+ i +",zug"+ i +",gleis"+ i +",text"+ i +")>");
         out.println("<td width=10% valign=middle height=65>");
         out.println("<p id=zeit"+ i +" class=timetableBigText>"+ zeit +"</p></td>");
         out.println("<td width=10% valign=middle height=65>");
         out.println("<p id=zug"+ i +" class=timetableBigText>"+ zug +"</p></td>");
         out.println("<td width=10% valign=middle height=65>");
         out.println("<p id=gleis"+ i +" class=timetableBigText>"+ gleis +"</p></td>");
         out.println("<td width=65% height=65>");
         out.println("<p id=text"+ i +" class=timetableText>"+ text +"</p></td></tr>");
         }
        out.println("</form></table>");
        %>
        </body>
        </html>

        die Stylesheet datei ais.css enthält die verschiedenen Styles der Texte.
        Das ganze ist noch nicht komplett fertig, ich möchte nur wissen, wie ich die variablen zeit, zug, gleis und text der Javascript Funktion übergeben kann...und ob das überhaupt möglich ist??? (Sie werden leer [object] übergeben.)

        Danke für eure Hilfe.

        Gruss Tomi

        1. Hallo

          [...]

          http://learn.to/quote