Problem mit Datenanbindung
Thomas Meisel
Hallo!
Ich habe in meine Webseite eine Suchfunktion eingebaut, welche Daten aus einer externen Datendatei liest. In dieser Datei stehen Verweise zu Ankern auf anderen Seiten in meinem "Projekt".
Wenn ich jetzt bei Name als Suchbegriff "A*" eingebe, bekomme ich richtig alle in der Datendatei hinterlegten a*-Verweise.
Wenn der erste Verweis z.B. "<dateiname>.htm#aa" ist, komme ich beim Klick auf irgendeinen folgenden von der Suchfunktion gelieferten Verweis(z.B. #ab, #ac, #ax) immer zum Anker "#aa".
Angebunden habe ich Datei wie im SelfHtml-Dokument unter "Datenanbindung(Microsoft)" beschrieben. Daraus habe ich auch den Code für die Suchfunktion. Ich verwende den IE4.0
Hier die wichtigsten Code-Ausschnitte:
Datendatei "Daten.txt"
<name.htm#aa|Ali Allah
<name.htm#ab|Ali Bobo
<name.htm#ax|Ali Xaver
Datenanbindung in der HTML-Datei
<object id="Alis" classid="clsid:333C7BC4-460F-D0-
BC04-0080C7055A83" width="192" height="192">
<param name="DataURL" value="Daten.txt">
<param name="UseHeader" value="true">
<param name="FieldDelim" value="|">
</object>
Suchfunktion
function Suchen()
{
var max = 500;
document.all.Anzeige.style.display = "none";
var Suchausdruck = "";
var Suchbegriffe = 0;
if(document.Eingabe.SuchName.value != "")
{
if(Suchbegriffe > 0)
Suchausdruck = Suchausdruck + " & Name = " +
document.Eingabe.SuchName.value;
else
Suchausdruck = Suchausdruck + "Name = " +
document.Eingabe.SuchName.value;
Suchbegriffe++;
}
if(document.Eingabe.SuchKategorie.value != "")
{
if(Suchbegriffe > 0)
Suchausdruck = Suchausdruck + " & Kategorie = " +
document.Eingabe.SuchKategorie.value;
else
Suchausdruck = Suchausdruck + "Kategorie = " +
document.Eingabe.SuchKategorie.value;
Suchbegriffe++;
}
document.all.Cocktails.object.Filter = Suchausdruck;
document.all.Cocktails.Reset();
document.all.Anzeige.dataSrc = "#Cocktails";
if(document.all.Cocktails.recordset.recordCount <
max)
{
document.all.Anzeige.dataPageSize =
Cocktails.recordset.recordCount;
document.all.Treffer.innerText =
Cocktails.recordset.recordCount + " Treffer!";
document.all.Anzeige.style.display = "block";
}
else
document.all.Treffer.innerText = "0 oder zu viele
Suchtreffer!";
}
Definierte Anker in der Zieldatei
<a name="aa">Ali Allah</a>
<a name="ab">Ali Bobo</a>
<a name="ax">Ali Xaver</a>
Geliefert bekomme ich bei Eingabe von "A*" die Links:
Ali Allah
Ali Bobo
Ali Xaver
Wenn ich dann allerdings auf den Link Ali Bobo oder Ali Xaver gehe, verweist er immer auf "#aa" also Ali Allah
Das Problem habe ich bei verschiedenen Zieldateien. Er verweist immer auf "#x1" (#aa).
Ich hoffe, ich habe nicht irgendeinen kleinen Fehler übersehen und mir und Euch unnötige Zeit geklaut, mein Problem ausführlich und verständlich genug beschrieben und es kann mir irgendwer helfen.
Am besten per e-mail an met@odn.de.
Besten Dank im Voraus
Thomas
Hallo Thomas
»» Datendatei "Daten.txt"
<name.htm#aa|Ali Allah
<name.htm#ab|Ali Bobo
<name.htm#ax|Ali Xaver
Wozu die < am Anfang? Ist das irgendeine Absicht? Werden die anklickbaren Verweise von dem Script entsprechend so zusammengesetzt, dass es hinterher stimmt?
Ansonsten kann ich auf die Schnelle keine Fehlerquellen entdecken.
Am besten per e-mail an met@odn.de.
Was im Forum begonnen wird, wird auch im Forum behandelt. Oder sollen hier nur Fragen stehen, und von den Antworten soll niemand was mitbekommen?
viele Gruesse
Stefan Muenz
Wozu die < am Anfang? Ist das irgendeine Absicht?
Sorry, Fehler meinerseits im Forum. War ein Schreibfehler. Soll heißen <name>.htm#aa. Also ich hab das Problem bei allen .htm - Dateien auf die ich verweise.
Werden die anklickbaren Verweise von dem Script entsprechend so zusammengesetzt, dass es hinterher stimmt?
Die Namen werden absolut richtig zurückgeliefert, nur verweisen sie alle auf "#aa"
Ansonsten kann ich auf die Schnelle keine Fehlerquellen entdecken.
Naja, vielleicht findest Du oder jemand anders noch was, ich wäre sehr dankbar.
Was im Forum begonnen wird, wird auch im Forum behandelt. Oder sollen hier nur Fragen stehen, und von den Antworten soll niemand was mitbekommen?
Nein, nur immer rein ins Forum. Ist der beste Ort dafür.
viele Gruesse
Thomas