Veröffentlicht 20. November 200717 j Huhu, ich hätte gerne eine Textbox oder was auch immer verschiebbar gemacht. <script language="JavaScript" src="JS/prototype.js"></script> <script language="JavaScript" src="JS/scriptaculous.js"></script> <script type="text/javascript"> window.onload = function(){ new Draggable("anzeigen");<-- window.setTimeout("Effect.Shake('kntinhaber')", 200 ); window.setTimeout("Effect.Shake('firma')", 600); window.setTimeout("Effect.Shake('titel')", 200); window.setTimeout("Effect.Shake('kontakt')", 600); } </script> Der Shake-Effect funktioniert aber das Draggen nicht!
20. November 200717 j new Draggable('anzeigen'); Wenn anzeigen die ID deines Elements ist, weiß jetzt gar nicht, ob Javascript Strings auch mit doppeltem anführungszeichen unterstützt, aber das würd ich mal so probieren. Zumindest in den Beispielen ist das ja auch nur mit einem ' gemacht.
20. November 200717 j Dann zeig uns doch mal deinen Code, nicht nur das Script oben. Ein kleines Beispiel mit dem relevanten Code würde reichen.
20. November 200717 j <td><input id="anzeigen" name="anzeigen" type="text" style="width: 120px"/><%=kontakt.getKntinhaber() %></td> mehr ist nicht relevant, denke ich! gruß
20. November 200717 j Könnte es daran liegen, dass input ein Inline-Element ist? Inline-Elemente haben normalerweise keine Position, und können also auch nicht positioniert werden. Also ihre Position wird durch den Text vorgegeben. <input ... style="display:block;" />
20. November 200717 j weiß jetzt gar nicht, ob Javascript Strings auch mit doppeltem anführungszeichen unterstützt, ja tut es
21. November 200717 j Wie sieht denn Dein gesamter COde aus? Ich habe <script type="text/javascript"> window.onload = function(){ new Draggable("anzeigen"); window.setTimeout("Effect.Shake('kntinhaber')", 200 ); window.setTimeout("Effect.Shake('firma')", 600); window.setTimeout("Effect.Shake('titel')", 200); window.setTimeout("Effect.Shake('kontakt')", 600); } </script> und <div id="anzeigen">TEST</div> <div id="kntinhaber">Hallo</div> <div id="firma">Hallo</div> <div id="titel">Hallo</div> <div id="kontakt">Hallo</div> und alles funktioniert prima.
22. November 200717 j habe keine divs sondern textboxen und buttons, ich dachte, wenn ich die frameworks (prototype und scriptaculo.us) von Ajax einbinde, dass das dann was mit ajax zu tun hat oder etwa nicht?
22. November 200717 j Hi, dann würd ich einfach <div> um die Textboxen machen, dann geht das auch. <div id="anzeigen">Das hier zum Drag</div> <div id="kntinhaber"><input type="text" /></div> <div id="firma"><input type="text" /></div> <div id="titel"><input type="text" /></div> <div id="kontakt"><input type="text" /></div> Prototype und Scriptaculous sind Javascript Frameworks, die auch Funktionen beinhalten mit denen Du mit / über Ajax arbeiten kannst. Die Effectfunktionen (wie Dein Shake) sind aber "reines Javascript", haben also nichts mit Ajax zu tun. Viele Grüße
26. November 200717 j ich dachte, wenn ich die frameworks (prototype und scriptaculo.us) von Ajax einbinde, dass das dann was mit ajax zu tun hat oder etwa nicht? Ajax ist es dann, wenn du Ajax benutzt Ajax stammt von Asynchronous Javascript And Xml. Also Javascript Anfragen an den Server, die asynchron laufen, also die eigentliche Seite ist nicht blockiert während der Anfrage. Das wird dazu benutzt, um Daten schneller und für den Benutzer nicht so direkt sichtbar vom Server nachzuladen oder Anfragen an den Server zu stellen. Dadurch verhält sich deine Seite nicht wie sonst, also Klick auf Button und warten bis die Seite neu aufgebaut wurde, sondern es geht alles im Hintergrund und der Benutzer bemerkt die anfrage an den Server kaum, bzw die Seite bleibt bestehen und meldet nur ein "Bitte warten..." o.ä. Dadurch sieht deine Webseite mehr wie eine normale Applikation aus. EDIT: Und wie schon angesprochen: Div = Block, Input = Inline.
30. November 200717 j huhu, da bin ich wieder! ich benutze websphere und wenn ich auf vorschau gehe, funktioniert das mit dem Draggable! wenn ich die seite aber auf dem server ausführe funktioniert es nicht!
30. November 200717 j Der folgende code funktioniert nicht auf dem Server .... window.onload = function(){ //Box verschiebbar machen! new Draggable("Box", {handle: "Titlebar"}); //Event 'mouseup' überwachen und an die Funktion highlight binden! Event.observe("Titlebar", "mouseup", highlight);//Farben ändern //Ausblenden eines divs $("Titlebar").ondblclick = function(){ Effect.toggle("Content", "blind"); } //Box zum Wackeln bringen! window.setTimeout("Effect.Shake('Box2')", 3000 ); } function highlight(){ new Effect.Highlight("Box", {startcolor: "#FFFFFF", endcolor: "#006666"}); } im code von oben funktioniert dagegen das Shake auf dem Server! ich finde es seltsam aber die lösung nicht! vielleicht fällt euch ja etwas auf! gruß
30. November 200717 j In welcher Vorschau funktioniert es? Da du etwas von Websphere geschrieben hast vermute ich mal das nicht alle *.js Dateien im EAR/WAR liegen und somit nach dem Deploment nicht auf dem Server zu finden sind. Hast du eventuell Fehlermeldungen im Browser die bei der Fehleranalyse weiter helfen können? Für den Firefox gibt es sehr gute Plugins(FireBug) dir es dir auch ermöglichen das JavaScript zu debuggen.
3. Dezember 200717 j Im websphere-editor gibt es drei register 1. Entwurf 2. Quelle 3. Voranzeige in der voranzeige funktioniert das draggable und das shake. Auf dem server funktioniert nur noch das shake! bin neu in java, wo kann ich denn da nachschauen, ob die dateien enthalten sind? gruß
3. Dezember 200717 j Im websphere-editor gibt es drei register 1. Entwurf 2. Quelle 3. Voranzeige in der voranzeige funktioniert das draggable und das shake. Auf dem server funktioniert nur noch das shake! Das hat mit dem Server abolut nichts zu tun. alles was eine Rolle spielt ist der Client der es anzeigt. sprich: Der Websphere-editor nutzt eine andere Engine als der Client mit dem du es probierst, wenn du es auf dem Server abgelegt hast. Javascript läuft einzig und ausschließlich auf dem Client. Wenn du lokal die HTML Datei mit dem Javascript drin in deinem Browser öffnest, wird es genausowenig gehen wie auf dem Server.
3. Dezember 200717 j Das liegt doch aber wie JesterDay geschrieben hat an den unterschiedlichen Browser Engines. Der WebSphere Editor nutz eine andere als den Browser mit dem du dir die Seite vom Server aus an schaust. Welchen Browser nutzt du? Poste doch mal bitte konkrete Fehlermeldungen die der Browser erzeugt damit können wir mehr anfangen als hier geht es und da nicht.
4. Dezember 200717 j ie7 und mozilla benutze ich! es ist doch aber beides javascript! das draggable und das shake! und deshalb verstehe ich nicht, dass das eine im ie7 funktioniert und das andere nicht!
4. Dezember 200717 j und deshalb verstehe ich nicht, dass das eine im ie7 funktioniert und das andere nicht! Wenn beide Versionen den IE7 nutzen, dann kann es noch daran liegen, dass du das Javascript extern nachlädst und das von einer anderen Domain versuchst? Da wird dann wohl das Sicherheitsmodell eingreifen. Du kannst nicht einfach alles von irgendwo nachladen und alles tun.
4. Dezember 200717 j ich lade nichts von anderen domains nach! (wenn ich das machen würde --> "Zugriff verweigert") die dateien sind in meinem projektordner! gruß
4. Dezember 200717 j Ok, oben hast du wiedermal nur den Javascript Code. Um dein Problem nachvollziehen zu können langt das aber nicht Eine kleine Seite (muss nur das wirklich nötigste enthalten) die dein Problem aufweist wäre ganz nett. Die Glaskugeln sind bei FI.de leider nicht zum Download angeboten...
4. Dezember 200717 j an code habe ich folgendes: <script language="JavaScript" src="JS/prototype.js"></script> <script language="JavaScript" src="JS/scriptaculous.js"></script> und dann noch <script type="text/javascript"> window.onload = function(){ new Draggable('test'); //funktioniert nicht! shake dagegen schon! window.setTimeout("Effect.Shake('kntinhaber')", 200 ); window.setTimeout("Effect.Shake('firma')", 600); window.setTimeout("Effect.Shake('titel')", 200); } </script> dann habe ich im JS-ordner die js-Dateien für das draggable und das shake, die bei dem scriptaculous dabei waren: dragdrop.js effects.js usw. weiteren code oder dateien habe ich nicht! gruß
4. Dezember 200717 j weiteren code oder dateien habe ich nicht! Ich meinte eine kleine Beispielseite, die das von dir beschriebene Verhalten aufweißt. Sowas wie: <html> <head> <title>Beispiel</title> <script type="text/javascript"> function myAlert(aText) { alert(aText); } </script> </head> <body onload="myAlert('Dies ist nur ein kleines Beispiel.')"> Nur ein Beispiel </body> </html> EDIT: <script language="JavaScript"... Das könnte aber vielleicht auch ein Fehler sein. language ist AFAIR nur etwas was der IE unterstütz so richtig. Korrekt ist meines Wissens nach nur type="text/javascript".
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.