2012-03-27 14 views
0

クローンで行を追加するテーブルがあります。しかし、セルがクリックされたときにonFocusを使ってテキストを消去することはできません。コードの断片(私はこの2週間前に私にダンプしているので、私は座席のパンツでJavascriptを勉強しています):クローンされた要素でonfocus()が失敗する

function AddRow() 
{ 
    var mytable=document.getElementById("newSystem"); 
    var rowClone=document.getElementById("sysrow").cloneNode(true); 

    rowClone.cells[0].innerHTML='<input type="text" name="SysName[]" value="host.myhouse.com" onFocus="this.value=\'\';this.onfocus=\'\';" />'; 

    myTable.appandChild(rowClone); 
} 

クローンが由来する元の行は次のようになります。

<tr id="sysrow"> 
<td> 
    <input type="text" name="SysName[]" value="host.myhouse.com" onFocus="this.value='';this.onfocus='';" />; 
</td> 
</tr> 

元のonFocusは正常に動作します。 onFocusをクローンスクリプトに挿入すると、何も行われません(新しい行は挿入されません)。 onFocusを削除すると、クローンされた行が挿入されますが、フォーカスを当てるとテキストはクリアされません。

私は何か間違っているか、onFocusはクローンでは動作しませんか?

+0

ONFOCUSは、スクリプトのどこか定義された関数であるべきか?あなたはそのコードを投稿できますか? –

+0

'this.onfocus ='?...このステートメントは* in *インラインアトリビュートイベントハンドラ* onfocus'を持っていますか?* 'this.onclick'は' onclick'の内部にあると意味がありますか? – zer00ne

答えて

0

myTable.appandChild(rowClone);にタイプミスがありますので、新しい行がない可能性がありますか?

実際には、myTable.appendChild(rowClone);

+0

私は機械間で手動で再入力しました。問題のあるマシンはプライベートネットワーク上にあります。 onFocusステートメントを削除すると、行挿入が機能しますが、セルを選択すると、サンプル入力はそのまま残ります。 onFocusを配置すると、新しい行は挿入されません。 – cricket058

関連する問題