mikerohsoft
Goto Top

Objekt erforderlich -this-

Ich bin wirklich am Verzweifeln weil ich keine Lösung finde, egal wie ich es drehe und wende.
Dabei möchte ich nur so ne Blöde Zahl als Ausgabe haben..

Ich lese mit VBScript also eine Datei Namens "test.txt" ein.
In jeder Zeile steht eine Adresse
Name, Str und PLZ sind getrennt durch eine Pipe |
Die Datei wird danach nach Zeilen aufgespalten und von Javascript weiterverarbeitet.
Das scheint ja auch alles zu funktionieren:
<script language="vbscript">  
sub lesen()
Dim i,namen
Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objFile = objFSO.GetFile("test.txt")  
If objFile.Size > 0 Then
    Set objReadFile = objFSO.OpenTextFile("test.txt", 1)  
    strContents = objReadFile.ReadAll
    objReadFile.Close
End If
namen = replace(strContents, vbcrlf, "<br>")  
einlesen(namen)
End Sub
</script>
<script language="javascript">  
function einlesen(lol){ suchwoerter = lol.split("<br>") }  
</script>

Dann hatte ich vor eine Livesuche zu veranstalten was auch besser geklappt hatte als zuerst erwartet:

function suchen(n){
anzeige = " "  
anzeige = "<table>"  
halbsuche(n)
anzeige += "</table>"  
document.getElementById("liste").innerHTML = anzeige}  

function halbsuche(n){
x=0
while(x < suchwoerter.length){
var suche = n
var regex = ""+suche+""  
var myrxp = new RegExp ("\^"+suche+"","gi")  
var check = (myrxp.test(suchwoerter[x].split("|")))  
if (check == true) { 
anzeige += "<tr><td>" + suchwoerter[x].split("|") + "</td><td><input type=\"text\" value=\" " + x + " \" size=3 ></td></tr>"    
}
x++}}
Mein HTML ist sehr übersichtlich, bisher gibts nur:
<input id="search" onkeyup="suchen(document.getElementById('search').value)">  
<div id="liste"></div>  

Wer mir jetzt sagen will document.getElementById('search') kann ich auch mit "this" ersetzen, der hat nicht mit dem IE gerechnet ^^
"Zeile 43 Objekt erforderlich "this" "
So klappt es jedenfalls.

Womit ich mich nu schwer tu ist, den Wert der in die Tabelle mitreingeschrieben wurden ist (auch korrekt) den möchte ich gerne weiter übergeben können, dass bleibt mir verwehrt.
alert(x) bringt mir natürlich immer das Ergebnis 344 weil genauso oft x hochgezählt worden ist. Deshalb exestiert überhaupt dieses Input Feld.. Ich möchte gerne darüber den Wert übermitteln können, Dummerweise bekomme ich beim Modifizieren der Zeile nur Fehler:

anzeige += "<tr><td>" + suchwoerter[x].split("|") + "</td><td><input type=\"text\" value=\" " + x + " \" size=3 ></td></tr>"    
wird zu:
anzeige += "<tr><td>" + suchwoerter[x].split("|") + "</td><td><input type=\"text\" value=\" " + x + " \" size=3 onClick=\"alert(this.value)\"></td></tr>"    
Sieht auf den ersten Blick ganz gut aus..
Ein Buchstabe in mein Input gibt dann erstmal eine Halbe Suchausgabe und dann den Fehler: Zeile 1 Zeichen 1 Objekt erforderlich: 'this'

Dann hab ich mir die Frage gestellt ob ich vielleicht auf den Kopf gefallen bin und habe nochmal ein neues Dokument erstellt und mal das reingehaun:
<body>
<div id="inhalt"></div>  
<body>
<script language="javascript">  
x=0
while(x < 10){
document.getElementById('inhalt').innerHTML += "<input type=\"text\" value=\" " + x + " \" onClick=\"alert(this.value)\" size=3>"  
x++
}
</script>
Siehe da, klappt Ast rein!

Ich weiß wirklich nicht wo mein Fehler liegt, ich habe auch schon Probiert um mit ParentNode oder ChildNode an den Wert zu kommen, aber egal was ich mache, sobald ich es Versuche an den Wert zu kommen, Fehlermeldung. (Manchmal auch dass er ")" erwartet, was erst recht unsinnig ist, weil ich den Code rauf und runter 600 mal geprüft habe)

Vielleicht sollte ich noch erwähnen dass ich das ganze in HTA zum laufen bringen möchte.
Ich wäre für jeden Tipp dankbar

Content-Key: 162763

Url: https://administrator.de/contentid/162763

Printed on: April 19, 2024 at 23:04 o'clock