Einzelnes Element per JavaScript neu laden

kaetzchen1976

Grünschnabel
Hallo zusammen,

ich bin heute wirklich mit Blindheit geschlagen: ich suche jetzt schon ewig nach einer Möglichkeit, per JavaScript ein "div"-Element neu zu laden.

reload() geht ja nun mal nur für die ganze Seite, damit kann ich nichts anfangen. Kann ich das auch nur auf ein Tag anwenden? Zugriff dann über ID oder so? :confused:

Bitte keine Antworten wie: "Das steht doch z.B. in 'JavaScript und AJAX' von Chr.W." oder so. Ich hab mir schon die Finger wundgegooglet: ich find es einfach nicht. Wohl ein typischer Montag, an dem ich besser im Bett geblieben wäre...

Wäre also superlieb, wenn mir jemand kurz die passenden Funktionen nennen könnte, wie ich das Element neu lade!

Danke im Voraus!
Micha
 
Hi,

ja, das Zugreifen ist ja kein Problem. Die ganze DOM-Geschichte habe ich schon durch. Mir geht es halt darum, das <div>-Tag als Einziges von der Seite neu zu laden (ist nen XAML-Plugin drin - und das ganze ist nen "Silverlight"-Projekt).

Ich dachte halt, dass es sowas gibt wie
Code:
document.getElementById("myDivTag")....loadirgendwie

So wie es für die ganze Seite die "reload()"-Funktion gibt.

Gruss
Micha
 
Hallo,
sieh dir bitte mal das Beispiel hier an und ändere das Script folgendermaßen:
Code:
<script type="text/javascript">
   var Neu = "neuer <b>fetter<\/b> Text";
   function Aendern () {
      document.getElementById("meinAbsatz").innerHTML = Neu;
   }
</script>
Die innerHTML-Eigenschaft existiert im DOM nicht, obiges Beispiel funktioniert aber trotzdem in vielen Browsern. Lies dir dazu bitte auch mal die Erläuterungen zur nodeValue-Eigenschaft (Objektreferenz: node) in selfHTML durch.
 
Danke, ja, das hab ich auch schon probiert. So sah die Geschichte aus:

Code:
var scriptHTML = "";
scriptHTML = '<script type="text/javascript">'
+ ' new agHost("DivSearchButton",'
+ ' "wpfeSearchButton",'
+ ' "100",'
+ ' "30",'
+ ' "#F8F8FF",'
+ ' null,'
+ ' "styles/buttonSearch.xaml",'
+ ' "false",'
+ ' "30",'
+ ' null,'
+ ' 0,'
+ ' 8,'
+ ' 5'
+ ' )'
+ '</script>';
document.getElementById("DivSearchButton").innerHTML = scriptHTML;

Bei einer Abfrage nach dem "innerHTML" des Tags kam dann aber totale Leere. Ich hab danach noch versucht, einen TextNode zu erstellen und den zu übergeben, aber auch das ging nicht. Es kommt zwar keine Fehlermeldung, dass es nicht übergeben werden kann, aber drin ist trotzdem nix :confused:
 
Auch wenn es deine Frage nicht beantwortet...
wozu willst du dort extra ein neues Skript-Element erzeugen, du befindest dich bereits in einem Skript, brauchst somit das agHost-Objekt nur erstellen.

Ansonsten: Erstelle per createElement() einen Skript-Knoten und weise dessen text-Eigenschaft den Skriptcode zu. Wenn du diesen Knoten dann in das <div> einhängst, ist dein Skript auch da.
Hier nen Beispiel, wie es gemeint ist:
Code:
<html>
<head>
<title>Test</title>

</head>
<body>
<script type="text/javascript">
<!--
variable='bla'

document.write('variable hat eingangs den Wert:'+variable);

function funktion()
{
  s=document.createElement('script');
  s.text="variable='blubb';alert('Hurra, das Skript ist da. Die Variable hat jetzt den Wert:'+variable)";
  document.body.appendChild(s);
} 
window.onload=function()
{
  setTimeout('funktion()',3000);
}
//-->
</script>
</body>
</html>
 
Zuletzt bearbeitet:
Danke für die Hilfe, aber tun tuts noch immer nicht :)

Ich hatte es gestern auch schon auf die Weise versucht - und jetzt hab ich mich nochmal dran gesetzt in der Hoffnung, das blöde Ding doch irgendwie noch überreden zu können, aber das läd nicht neu, auch wenn inzwischen der Code im HTML-Dokument stimmt.

Heute und morgen fummel ich da noch ein bisschen rum, aber wenn ich bis dahin nichts habe, dann lass ich es. Ich hab mir das als meine persönliche Deadline gesetzt, da ich meine Arbeit irgendwann jetzt abschliessen muss und es keinen Sinn macht, wenn ich mich mit sowas noch verrückt mache. Ich finds halt nur schade, dass sich Silverlight irgendwo rühmt, so toll wie AJAX zu sein - aber dann sind nicht mal Teile der Seite neu zu laden.

Mein eigentliches Problem besteht darin, dass ich eine Seite gebaut habe, die mehrsprachig sein soll. Einfache Textausgaben im HTML-Code lassen sich ja fix ändern, wenn die Sprache ausgewählt wurde. Aber die Aufschrift eines XAML-Plugin-Buttons eher nicht. Ich kann da nicht ohne Weiteres drauf zugreifen. Deswegen hab ich das Teil jetzt so gebaut, dass es schaut, welche Sprache grad aktuell eingestellt ist und entsprechend die Aufschrift setzt. Dazu müsste der Button aber neu geladen werden, sobald sich die Sprache ändert. Ich fand meine Idee mal ganz gut, aber da Silverlight ja noch ganz frisch und grün hinter den Ohren ist, war ich wohl etwas zu anspruchsvoll, als ich dachte, ich könnte da einen Weg finden das zu realisieren :eek:)

Falls ich doch noch dahinter komme, halte ich euch auf dem Laufenden. Seit meiner Arbeit hier hab ich nämlich Blut geleckt und bin ständig dabei, irgendwas zu entwickeln. Nur im Moment muss ich erstmal mit meinem Thema fertig werden.

Also danke für eure Hilfe - und falls sich doch noch ein Experte in Sachen Silverlight-Plugins-die-nicht-wollen findet: bitte melden!

Viele Grüsse
Micha
 
Ich habs! Immer dann, wenn man sich damit abgefunden hat, des Rätsels Lösung nicht mehr zu finden.

Wer sich mit Silverlight-Projekten auskennt (zumindest die der alten Version, ich glaube, jetzt mit "Orcas" sehen die nen bisschen anders aus), weiss, dass MS eine Funktion "agHost" mitliefert, die ein XAML-Plugin in einer HTML-Seite anzeigt (nachzulesen in der dazugehörigen "aghost.js").

Ich habe mich jetzt erdreistet, meine Funktionen alle mit in diese "aghost.js" zu packen, damit ich selbige Funktion mitnutzen kann. Und die dann halt bei jedem Farbwechsel aufgerufen. Erst tat sich nichts. Aber dann: ein Neustart und mein Button wechselt auch seinen Text (!) Demnach wird das Plugin also neu geladen.

Gibt es jetzt vielleicht noch eine Möglichkeit, das doch wieder auseinander zu nehmen, indem ich in "meine" js-Datei oben einen Verweis auf die von MS mache? Damit die Funktionen etwas übersichtlicher sind und ich aber "agHost" trotzdem nutzen kann?
 
JavaScript-Funktion aus einer anderen Datei verwenden

Die Datei, worin sich die verwendete Funktion befindet, muss im HTML-Dokument zuerst eingebunden werden.
 

Neue Beiträge

Zurück