2009-07-01 7 views
1
/*************** javascript *****************/ 

function here(getValue) { 

    alert(getValue) 
} 

function aaa() { 

    document.getElementById('asd').innerHTML = '<input type="text" name="textfield" onkeyup="here(this.value)" />' 
} 

function aaa2() { 

    var temp = document.getElementById('asd').innerHTML 
    document.getElementById('asd').innerHTML = temp+'<input type="text" name="textfield" onkeyup="here(this.value)" />' 
} 

function dom() { 

    var zzz = document.getElementById('asd') 

    var inp = document.createElement('input') 
    inp.type = 'text' 
    inp.name = 'textfield' 
    inp.onkeyup = function() {here(this.value)} 

    zzz.appendChild(inp) 
} 

/************************************/ 

<div id="asd"> 
    <input type="text" name="textfield" onkeyup="here(this.value)" /> 
</div> 

<input type="button" name="Button1" value="Button1" onclick="aaa2()" /> 
<input type="button" name="Button2" value="Button2" onclick="dom()" /> 

Hilfe brauchen ...Problem mit dom und create innerHTML-

i erstellen ein Textfeld dom mit von Button1 klicken, dann verbinden sich mit Textfeld innerHTML- durch Klick button2 verwenden.

das Problem nach dem dom mit create innerHTML- kombinieren, das Textfeld von dom erstellt wurden, können die JavaScript-Funktion nicht aufrufen ...

jemand eine Lösung ...

Dank ...

+0

Ich empfehle dringend, dass Sie Ihre Frage bearbeiten - ich habe es versucht, aber ich kann keinen Sinn daraus machen, es zu bearbeiten – annakata

Antwort

1

Ihr Problem ist mit diesem

inp.onkeyup = function() {here(this.value)} 

Sie nicht so definieren onkeyup kann, wenn sie nicht vorher existiert hat. Außerdem muss dieses Argument eine Zeichenkette sein (im Grunde der auszuführende Javascript-Code)

inp.setAttribute('onkeyup','here(this.value)');