2009-03-13 7 views
0

Also habe ich nur ein Textfeld mit JavaScript wie folgt aus:Setfocus zu Textbox von JavaScript nach dem Erstellen der Textbox mit JavaScript?

EDIT: Hinzugefügt wurde die Variable LEN

var len = tbl.rows.length; 
        var rtb = tbl.insertRow(len); 
        var cName = rtb.insertCell(0); 
        var cDis = rtb.insertCell(1); 
        var cDur = rtb.insertCell(2); 
        cName.innerHTML = '<input type="text" name="tbName1' + len + '" value="' + selected_text + '" >'; 
        cDis.innerHTML = '<input type="text" name="tbDis1' + len + '" id="tbDis1' + len + '" >'; 
        cDur.innerHTML = '<input type="text" name="tbDur1' + len + '" >'; 
        var txtBox = document.getElementById('tbDist1' + len); 
        txtBox.focus(); 

EDIT: die zweite Changed Linie dauern. Erhalte immer noch diesen Fehler: txtBox ist null txtBox.focus();

Die letzte Zeile funktioniert nicht. Nachdem ich das Textfeld erstellt habe, kann ich den Fokus nicht darauf festlegen. Gibt es einen Weg dazu?

+0

Sie immer noch den ‚t‘ fehlen, wenn das Textfeld zu schaffen. –

+0

Beachten Sie, es sagt "tbDis1" + len und Sie versuchen, "tbDist1" + len –

+0

Verdammt, das schien zu funktionieren. Danke Jungs –

Antwort

1

Hum ... Sie die Textbox sind die Schaffung von id="tbDis1' + len + '" sagen, aber Sie zugreifen es von 'tbDist1' + (len - 1) tun ... warum? Ich bin mir nicht sicher über den Kontext, aber das würde versuchen, das zuvor hinzugefügte Textfeld, falls vorhanden, zu fokussieren. Außerdem erstellen Sie es mit tbDis und versuchen, mit tbDist zu erreichen. Fehlt ein t drin. Wenn Sie die ID als id="tbDist1' + len + '" festlegen und mit 'tbDist1' + (len) darauf zugreifen, sollte das der Fall sein.

+0

Ich habe versucht, die Textbox vor, aber es hat nicht funktioniert. Der Code wurde geändert und es wird immer noch Null für das Textfeld angezeigt. –

+0

Die Antwort wurde einfach falsch geschrieben. –

1

Wenn Sie den Wert txtBox überprüfen, sehen Sie, dass es nicht definiert ist. Sie versuchen, das Element mit der ID tbDist1 + (len-1) abzurufen, aber Sie erstellen ein Element mit der ID tbDis1 + len.

0

Nicht sicher, wie es funktionieren soll: Sie haben tbDis und Len vor, dann tbDist (Hinweis: t) und len-1 nach. Seltsam ... :-)

0

Err, es sieht wie ein Tippfehler aus. Du fragst nach (afaict) tbDist1, aber erstelle tbDis1.

[Edit: marius getupft auch len vs len-1, die ich verpasst.]

+0

immer noch null für txtbx –

0

Ich kann die Textbox und idk nicht aufrufen. Warum?!!

-> var txtBox = document.getElementById ('tbDist1' + len);

0

Ich habe diesen einfachen Code:

<html> 
<body> 
<form id="f1"> 

<asp:Label id="tt" runat="server" Text="Label" onclick="lblClick()"></asp:Label> 

</form> 
<script type ="text/javascript"> 

      function lblClick() { 
      document.forms[0].tt.Text ="java";// here is the problem .. and idk why? 
      } 
</script> 
</body> 
</html> 
Verwandte Themen