asp-variable an javascript-funktion geben
fian03
- asp.net
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
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
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
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?
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?
Hast Du mal einen URL wo man sich das ansehen kann?
Gruß
Afra
Leider nicht! Das ist eine Intranetanwendung die ich nicht veröffentlichen kann.
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
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
Das Leerzeichen. Oh, wie ich blind war. ;)
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
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
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