document.write
BMS
- javascript
Hallo,
Ich habe folgendes: Auf einer Site ohne Frames in einer "main" genannten Layoutzelle eine Suchfunktion die um die Ergebnisse zu liefern "document.write(..)" benutzt. Mein Problem damit ist das ich die Ergebnisse gerne auch in der "main"-Zelle hätte und nicht als einzigen Inhalt des dokuments die Ergebnisse.Eigentlich müsste es doch einfach möglich sein,oder?
Schonmal im Voraus: DANKE
Hy
gerade vorhin habe ich einen Artikel in Selfhtml gelesen.
Man muss einfach das auszuführende Script an den Ort hineinschreiben, wo man die Ausgabe will.
Gruss
Michy
Hi,
hab ich auch probiert-geht aber nicht.Ich bekomme trotzdem ein neues Dokument mit den Ergebnissen. Danke dir auf jeden Fall! Vielleicht gibt's ja noch ne Idee?
Hallo zum 2.
hab ich auch probiert-geht aber nicht.Ich bekomme trotzdem ein neues Dokument mit den Ergebnissen.
Aber nicht in einem neuen Fenster?
Kannst du das Script mal hineinschreiben.
Und mit document.writeln nehme ich an hast dus auch schon probiert.
Michy
Hi!
document.writeln zerstört doch genauso das voherige Dokument, oder?
Ich habe jetzt verucht das script in eine tabelle zu packen, dachte das es vielleicht darin dann auch geöffnet würde. NIX. Kann ich nicht einfach nicht nur die suchergebnisse ausgeben, sondern auch noch die site drumherum? dann wärs ja egal ob die site gekillt wird. Hier ein bissl Quelltext:
<td>
<form name="form">
<input type="text" size=30 name="search">
<input type="button" name="submit" value="Search" onClick="validate_form()">
<input type="reset" name="reset" value="Clear">
<font color="#008040" face="Verdana, Arial, Helvetica, sans-serif"><strong>
</strong></font>
</form>
</td>
</tr>
<tr>
<td> </td>
<td><font color="#008040" face="Verdana, Arial, Helvetica, sans-serif"><strong>
<script>
function searchLinks(links, keyword){
document.writeln("<BODY BGCOLOR='ffffff' TEXT='000000' LINK='IhreFarbe' VLINK='IhreFarbe' ALINK='IhreFarbe'>")
document.writeln("Suchergebnisse für Suchwort: <strong>" +keyword +"</strong><br><br>");
for (var q=1; q<=links.length; q++) {
if (links[q].URL.toLowerCase().indexOf(keyword) != -1){
document.write("<a href="+ links[q].URL +">" + links[q].Name + "</a> - ");
document.write( links[q].Desc + "<br>");
continue;
}
if (links[q].Desc.toLowerCase().indexOf(keyword) != -1) {
document.write("<a href=" + links[q].URL +">" + links[q].Name + "</a> - ");
document.write( links[q].Desc + "<br>");
continue;
}
if (links[q].Name.toLowerCase().indexOf(keyword) != -1) {
document.write("<a href=" + links[q].URL +">" + links[q].Name + "</a> - ");
document.write( links[q].Desc + "<br>");
continue;
}
}
}
</script>
Dazu noch die andere funktion damit's vollständig ist:
<script language="javascript">
var key = "";
function makeEntry (){
this.Name="";
this.URL = "";
this.Desc = "";
this.Category = "";
return this;
}
function makeArray(n) {
this.length = n;
for (var k = 1; k <= n; k++) {
this[k] = "";
}
return this;
}
function makeLinks(size) {
this.length = size;
for (var r=1; r<= size; r++) {
this[r] = new makeEntry();
this[r].Name = namesArray[r];
this[r].URL = urlsArray[r];
this[r].Desc = descArray[r];
}
return this;
}
var linksize=0
datesArray = new makeArray(linksize);
namesArray = new makeArray(linksize);
urlsArray = new makeArray(linksize);
descArray = new makeArray(linksize);
var arraycount=0
// --- Anfang Daten für "Suchmaschine"
arraycount += 1
urlsArray[arraycount] = "SET.html"
namesArray[arraycount] = "suche auf dieser seite"
descArray[arraycount] = "suche,search,sitesearch"
arraycount += 1
urlsArray[arraycount] = "IhrLink.html"
namesArray[arraycount] = "Ihre Linkbeschreibung"
descArray[arraycount] = "suchwort, suchwort, suchwort ..."
// um weitere Seiten zu Erfassen können die obenstehende Blöcke einfach kopiert werden !
linksize = arraycount;
// ----Ende Daten -------
function validate_form() {
txt = document.form.search.value;
if (txt.indexOf(".") != -1){
alert("Eingabe fehlerhaft! Es wurde ein '.' verwendet"); return;}
if (txt.indexOf(",") != -1){
alert("Eingabe fehlerhaft! Es wurde ein ',' verwendet"); return;}
if (txt.indexOf("@") != -1){
alert("Eingabe fehlerhaft! Es wurde ein '@' verwendet"); return;}
......
else {
jsi = new makeLinks(linksize);
searchLinks(jsi, txt);
document.write("--------------------------------------------------------------------------------");
document.write("Back");
}
}
</script>