ungültiges argument
mokona
- javascript
hallo ihr
ich bekomm eine fehlermeldung,und zwar:
zeile: 22
zeichen: 4
fehler: ungültiges argument
hier mein javascript:
function openWindowAtCursor(e,link,titel){
e = e || window.event;
var cursor = {x:0, y:0};
if (e.pageX || e.pageY)
{
cursor.x = e.pageX;
cursor.y = e.pageY;
}
else
{
var de = document.documentElement;
var b = document.body;
cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
}
window.open(e,link,titel,'width=420,height=120,top=' + cursor.x + ',left=' + cursor.y);
}
und hier wird diese funktion aufgerufen
<td onclick="openWindowAtCursor(this,'VK.aspx?id=" + rd["ID"].ToString() + "','VK');">
ich hab wie wilde gesucht .. bin aber nicht draufgekommen, woran es liegt ... könnt mir da vL jemand helfen?? danke schon im voraus
LG mokona
zeile: 22
zeichen: 4
fehler: ungültiges argument
Was immer Zeile 22 ist.
hier mein javascript:
function openWindowAtCursor(e,link,titel){e = e || window.event;
Hast du dir mal angeschaut, was du als ersten Parameter übergibst?
...
und hier wird diese funktion aufgerufen
<td onclick="openWindowAtCursor(this,'VK.aspx?id=" + rd["ID"].ToString() + "','VK');">
sieht nicht nach event aus.
Struppi.
also zeile 22 is die letzte } ... ^^
der html-code wird im programm gecodet .. deswegen das "rd["ID"].ToString()
und dem e .. gib ich das this mit .. hmm .. ein arbeitskollege hat gesagt, das das so gehört .. hm
muss mich entschuldigen .. ich kenn mich in JS total nicht aus :(
also zeile 22 is die letzte } ... ^^
Was sagt eigentlich die Fehlerkonsole im Firefox?
Hast du mal die Anzahl der Parameter die du bei window.open() benutzt mit denen die z.b. selfhtml aufzählt verglichen?
und dem e .. gib ich das this mit .. hmm .. ein arbeitskollege hat gesagt, das das so gehört .. hm
Das ist falsch, this ist das Element in dem Fall die Tabellenzelle und event ist, wie der Name schon sagt, der event.
muss mich entschuldigen .. ich kenn mich in JS total nicht aus :(
Dafür musst du dich nicht entschuldigen, es gibt viele Sachen mit denen ich mich nicht auskenne, wenn ich mich dafür jedesmal entschuldigen würde, käme ich zu nichts anderem mehr.
Struppi.
Was sagt eigentlich die Fehlerkonsole im Firefox?
Hast du mal die Anzahl der Parameter die du bei window.open() benutzt mit denen die z.b. selfhtml aufzählt verglichen?
ich hab auf meinem rechner keinen firefox (was ich doof finde, aber ok)
Das ist falsch, this ist das Element in dem Fall die Tabellenzelle und event ist, wie der Name schon sagt, der event.
ich glaub das this steht für die seite .. also wür die default.aspx wo sich die tabelle befindet, oder? o_O
kann ich dem noch was anderes übergeben, als this?
Dafür musst du dich nicht entschuldigen, es gibt viele Sachen mit denen ich mich nicht auskenne, wenn ich mich dafür jedesmal entschuldigen würde, käme ich zu nichts anderem mehr.
is schon klar .. nur manchmal kommts mir hier vor, als würds was machen, wenn man sich garnicht auskennt xD
LG
ich hab auf meinem rechner keinen firefox (was ich doof finde, aber ok)
Das ist schlecht. Gerade beim entwickeln von JS ist die Fehlerkonsole sehr hilfreich, im gegensatz zu den mehr oder weniger kryptischen Fehlermeldungen des IE
Das ist falsch, this ist das Element in dem Fall die Tabellenzelle und event ist, wie der Name schon sagt, der event.
ich glaub das this steht für die seite .. also wür die default.aspx wo sich die tabelle befindet, oder? o_O
Nein das ist Blödsinn und eine leider weit verbreitete Unsitte, in Funktionen this statt window zu verwenden. this ist immer das Objekt in dessen Kontext eine Funktion aufgerufen wird, in deinem Fall im Kontext des TD Elementes.
kann ich dem noch was anderes übergeben, als this?
Ja wie ich bereits sagte, event
Dafür musst du dich nicht entschuldigen, es gibt viele Sachen mit denen ich mich nicht auskenne, wenn ich mich dafür jedesmal entschuldigen würde, käme ich zu nichts anderem mehr.
is schon klar .. nur manchmal kommts mir hier vor, als würds was machen, wenn man sich garnicht auskennt xD
Das stimmt, heißt ja auch selfhtml ;-)
Struppi.
ja .. zuhause hät ichs ^^
naja .. wird schon werden ;)
ääähm .. so zuerst hatte ich, this.event .. popup is auf nur nicht neben dem cursor .. dann window ^^ .. popup hat sich gaaaanz oben in der linken ecke geöffnet ^^ .. und jetzt mit event hat sichs auch geöffnet gleich wie bei dem this.event
ja schon selfhtml .. aber wenn sich ein total garnicht auskennt, erhofft man sich doch mehr hilfe ^^
deswegen bin ich dir sehr dankbar :)
LG
ääähm .. so zuerst hatte ich, this.event .. popup is auf nur nicht neben dem cursor .. dann window ^^ .. popup hat sich gaaaanz oben in der linken ecke geöffnet ^^ .. und jetzt mit event hat sichs auch geöffnet gleich wie bei dem this.event
Ich finde deine Erläuterungen sehr gewöhnungsbedürftig.
ja schon selfhtml .. aber wenn sich ein total garnicht auskennt, erhofft man sich doch mehr hilfe ^^
Naja
selfhtml > javascript/DOM > Objektreferenz > window > window.open
eigentlich einfach und selbsterklärend, man muss es nur Wissen.
Wenn du dieses Problem gelöst hast, löst sich auch das erste.
Struppi.
Ich finde deine Erläuterungen sehr gewöhnungsbedürftig.
hehe .. sorry ^^ .. ich wollt nur sagen, das ich statt this, mal window.event, event oder this.event übergeben :)
besser ? :P
hm .. bald hab ich keine lust auf das mehr -.-
das fenster öffnet sich, sowie ich es gewollt habe, nur nicht neben dem cursor .. is jetzt bei der JS was falsch? .. hm
hm .. bald hab ich keine lust auf das mehr -.-
das fenster öffnet sich, sowie ich es gewollt habe, nur nicht neben dem cursor .. is jetzt bei der JS was falsch? .. hm
Ich weiß nicht was ich dir noch zeigen soll, schau dir an, wie window.open() benutzt wird und wie du es benutzt, da ist ein entscheidender Unterschied.
Struppi.
arrrrgh .... >.<
es stimmt alles .. nur beim window.open sollte man doch die parameter richtig übergeben -.-
ich hatte
window.open(link, titel, width, height, top, left);
aber es gehört so
window.open(link, titel, width, height, left, top);
vielen dank für die hilfe :)
schönes Wochenende
LG mokona :)
ich hatte
window.open(link, titel, width, height, top, left);aber es gehört so
window.open(link, titel, width, height, left, top);
Wenn das funktioniert wäre das etwas völlig neues. Steht auch nicht so in selfhtml.
Struppi.
mennoooo .. es funktioniert und ihr bekritelt es :(
sorry hab mich wieder falsch ausgedrückt -.-
+seufz*
so siehts jetzt aus
window.open(link,titel,'width=420,height=120,left=' + cursor.x + ',top=' + cursor.y);
so hab ich das gemeint, mit (link, titel, width, height, left, top)
und titel haben wir einfach nur so genommen, weils kürzer is .. hm
LG
sorry hab mich wieder falsch ausgedrückt -.-
+seufz*
sieht so aus
so siehts jetzt aus
window.open(link,titel,'width=420,height=120,left=' + cursor.x + ',top=' + cursor.y);
das ist ok, entspricht aber nicht dem:
so hab ich das gemeint, mit (link, titel, width, height, left, top)
sondern einfach:
window.open(link, titel, optionen);
der 3. Parameter ist einfach ein String, den du zusammenfügst, aber keine zusätzlichen Parameter. Ist also einfach nur ein Verständnissproblem.
Struppi.
ihr habt mir jetzt voll die freude genommen das es funzt .. hm :P
naja ich weiß schon .. aber wenn ich schreib optionen, das weiß ja keiner WAS ich vertauscht hab .. hm .. egal
danke nochmals :)
Hi,
ihr habt mir jetzt voll die freude genommen das es funzt .. hm :P
willkommen zurück auf dem Teppich ;-)
naja ich weiß schon .. aber wenn ich schreib optionen, das weiß ja keiner WAS ich vertauscht hab .. hm .. egal
Das ist auch uninteressant, denn innerhalb dieses Argumenst ist die Reihenfolge egal. Übrigens ist Dein Geschreibsel wegen der unsachgemäßen Groß- und Kleinschreibung sowie der komischen Punktesetzung grundsätzlich schwer lesbar.
Cheatah
Das ist auch uninteressant, denn innerhalb dieses Argumenst ist die Reihenfolge egal. Übrigens ist Dein Geschreibsel wegen der unsachgemäßen Groß- und Kleinschreibung sowie der komischen Punktesetzung grundsätzlich schwer lesbar.
nicht das wir ihm jetzt auch noch die Freude am Schreiben nehmen
Struppi.
Hi,
ich hatte
window.open(link, titel, width, height, top, left);
nein, Du hattest
window.open(event, link, titel, eigenschaften).
Cheatah
Hi,
aber es gehört so
window.open(link, titel, width, height, left, top);
link: richtig.
titel: falsch. Richtig: fenstername (der Titel wird aus dem Dokument genommen).
Der Rest: falsch, das gehört in _einen_ Parameter.
cu,
Andreas
Hi,
ich hab auf meinem rechner keinen firefox (was ich doof finde, aber ok)
Firefox[1] ist, richtig genutzt, das ideale Entwicklertool für alles Clientseitige. Die Primärentwicklung mit etwas anderem zu machen halte ich für Zeitverschwendung.
ich glaub das this steht für die seite ..
Nicht glauben, wir sind hier nicht in der Kirche. Wissen, nachlesen oder erfragen. 'this' ist das jeweilige Objekt - in dem von Dir genannten Kontext handelt es sich um das die <td> repräsentierende DOM-Objekt.
also wür die default.aspx
A propos: Eliminiere bei *allen* clientseitigen Problemen *jeden* serverseitigen Code *vollständig*. Und zwar *immer*. Bis Du dies hier im Thread getan hattest, war eine Hilfe unmöglich.
is schon klar .. nur manchmal kommts mir hier vor, als würds was machen, wenn man sich garnicht auskennt xD
Nein, das macht nichts. Es macht lediglich etwas, wenn Du Dich nicht bemühst, etwas dagegen zu unternehmen - denn genau darauf ist das Gros der Hilfeleistungen hier ausgerichtet.
Cheatah
[1] Bzw. etwas allgemeiner die Gecko-basierten Browser. Wobei es IMHO zu Firebug derzeit keine Alternative gibt.
Hi,
zeile: 22
zeichen: 4ich hab wie wilde gesucht .. bin aber nicht draufgekommen, woran es liegt ...
hast Du denn die Zeile 22 gefunden? In dem Fall wäre es nett, wenn Du uns sagen könntest, welche das ist.
<td onclick="openWindowAtCursor(this,'VK.aspx?id=" + rd["ID"].ToString() + "','VK');">
Das ist ungültiger HTML-Code. Bitte validiere Deines Codes.
Cheatah
die letzte } ist die zeile 22 ^^
hast Du denn die Zeile 22 gefunden? In dem Fall wäre es nett, wenn Du uns sagen könntest, welche das ist.
<td onclick="openWindowAtCursor(this,'VK.aspx?id=" + rd["ID"].ToString() + "','VK');">
im quellcode würds dann so aus
<td onclick="openWindowAtCursor(this,'VK.aspx?id=111','VK');">
oder so ^^
Hello out there!
rd["ID"].ToString()
Eine Methode 'ToString()' existiert wirklich?
See ya up the road,
Gunnar
jap ... im asp.net 2.0 c# ;)
die tabelle wird im programm geschrieben, damit ich so die felder befüllen kann und so sie auch benutzen :)