fian03: asp-variable an javascript-funktion geben

Hallo.

ich versuche mit <a href...> eine Javascriptfunktion aufzurufen. Dieser soll eine ASP-Variable übergeben werden. Das ganze Sieht so aus:

<td align="center"><font face="Arial" size="2">
<a href="javascript:Fenster('<%=rs("Objekt")%>')"><%=rs("Objekt")%></a>
</font></td>

die Funktion:

<script type="text/javascript">
<!--
function Fenster(nummer)
{
window.open("pfad.asp?nummer=" + nummer ,"Bearbeitung", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");
}
// -->
</script>

Könnt Ihr mir sagen was nicht stimmt? Ich finde den Fehler nicht. Wahrscheilich übergebe ich die Variable falsch, aber ich weiß es nicht.

Vielen Dank
Gruß fian03

  1. Hallo fian03,

    <a href="javascript:Fenster('<%=rs("Objekt")%>')"><%=rs("Objekt")%></a>

    Was steht denn an dieser Stelle im erzeugten HTML-Quellcode und was sollte dort stehen?

    Gruß,

    Dieter

    1. Hallo Dieter

      im htmlcode steht
      <td align="center"><font face="Arial" size="2"><a href="javascript:Fenster('636550')">636550</a></font></td>

      ich habe es aber auch schon ohne ' probiert.
      <td align="center"><font face="Arial" size="2"><a href="javascript:Fenster(636550)">636550</a></font></td>

      In der javascriptfunktion steht dies hier:
       window.open("../../infosystem/temp_eintrag_abgelaufen/temp_eintrag_abgelaufen_liste.asp?
      nummer=" + nummer ,"Bearbeitung Fehlerliste", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

      Müsste da dann nicht statt 'nummer' die Zahl stehen??

      Danke
      Gruß fian03

      Hallo fian03,

      <a href="javascript:Fenster('<%=rs("Objekt")%>')"><%=rs("Objekt")%></a>
      Was steht denn an dieser Stelle im erzeugten HTML-Quellcode und was sollte dort stehen?

      Gruß,

      Dieter

      1. So wie du es beschreibst müsste es funktionieren. JavaScript wird ja beim Client ausgeführt. Daher _siehst_ Du im Quelltext noch die Variable _Nummer_ stehen. Eventuell hast Du den request("nummer") in der Datei _temp_eintrag_abgelaufen_liste.asp_ vergessen und daher kommt dort die Variable nicht an?

        1. Der IE bringt mir eine Fehlermeldung:
          'Ungültiges Argument' in Zeile 7. Zeile 7 ist die Zeile mit dem Windows.open...

          Vielleicht hilft das weiter. Ich habe keine Ahnung was damit gemeint ist!

          So wie du es beschreibst müsste es funktionieren. JavaScript wird ja beim Client ausgeführt. Daher _siehst_ Du im Quelltext noch die Variable _Nummer_ stehen. Eventuell hast Du den request("nummer") in der Datei _temp_eintrag_abgelaufen_liste.asp_ vergessen und daher kommt dort die Variable nicht an?

          1. Hast Du mal einen URL wo man sich das ansehen kann?

            Gruß

            Afra

            1. Leider nicht! Das ist eine Intranetanwendung die ich nicht veröffentlichen kann.

              1. Also, ich hab hier eine kleine index.html gebaut, die öffnet sich immer selbt und hängt hinten den Wert an. Das könntest Du selbst testen. Wenn das bei Dir nicht passiert, dann stimmt bei Dir was nicht. Da ich das aber ohne die Seite zu sehen nicht testen kann, hier nochmals die kleine Hilfe. Einfach als index.html abspeichern. Das ist mit einer statischen Seite, das was Du erreichen willst.

                <html>
                <head>
                 <title>test</title>
                 <script>
                 function oeffne(x) {
                  window.open("index.html?fenster="+x);
                 }
                 </script>
                </head>
                <body>
                <a href="#" onClick="oeffne('1')">click</a>
                </body>
                </html>

                Das stimmt so. Und ist so richtig. Bau einfach nochmals alles zurück und beginne Schritt für Schritt das Script aufzubauen. Eventuell liegt der Fehler ja auch irgendwo anders in der Seite... Wenn Du den IE zum testen nimmst, dann sagt der dir ja die Zeilen des Fehlers an, die sind aber anders als in deinem ASP Datei, da der dort auszuführende Code enthält. Vielleicht ist der Fehler dann ja wo ganz anders zu suchen? Nimm mal den FF und lass die JavaScript Konsole offen. Die Fehlermeldungen sind dort oft einleuchtender für Anfänger.

                Afra

          2. hi,

            Der IE bringt mir eine Fehlermeldung:
            'Ungültiges Argument' in Zeile 7. Zeile 7 ist die Zeile mit dem Windows.open...

            Vielleicht hilft das weiter. Ich habe keine Ahnung was damit gemeint ist!

            der IE ist sehr empfindlich, was ungültige fensternamen für popups angeht.
            der in deinem beispiel ist ein solcher.

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Das Leerzeichen. Oh, wie ich blind war. ;)

      2. Hallo

        In der javascriptfunktion steht dies hier:
        window.open("../../infosystem/temp_eintrag_abgelaufen/temp_eintrag_abgelaufen_liste.asp?
        nummer=" + nummer ,"Bearbeitung Fehlerliste", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

        window.open("../../infosystem/temp_eintrag_abgelaufen/temp_eintrag_abgelaufen_liste.asp?nummer=' + nummer + '","Bearbeitung Fehlerliste", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

        siehe <<nummer>>

        versuchs mal so, cu
          capior

        1. Das funktioniert leider auch nicht. Ich bekomme immer noch den Fehler 'Ungültiges Argument'

          Hallo

          In der javascriptfunktion steht dies hier:
          window.open("../../infosystem/temp_eintrag_abgelaufen/temp_eintrag_abgelaufen_liste.asp?
          nummer=" + nummer ,"Bearbeitung Fehlerliste", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

          window.open("../../infosystem/temp_eintrag_abgelaufen/temp_eintrag_abgelaufen_liste.asp?nummer=' + nummer + '","Bearbeitung Fehlerliste", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

          siehe <<nummer>>

          versuchs mal so, cu
            capior

  2. Hallo,

    schon mal versucht, den String für die URL schon außerhalb der Funktionsparameter zusammenzuschrauben?

    Also:

    sUrl = "pfad.asp?nummer=" + nummer;
    window.open(sUrl,"Bearbeitung", "height= 540, hotkeys=no, left=1, location=no, menubar=no, resizable=yes, scrollbars=yes, status=yes, toolbar=no, width=800, top=1");

    Grüße,
    Utz

    --
    Mitglied im Ring Deutscher Mäkler