こんにちは、著者を追加できるコードがあります。問題があります。テーブルに作成されたノードを削除できないようです。これは私の人生で最悪のフラストレーションです。削除できなかったようです。また、要素を検査するたびに、ソースから新しく作成された要素が表示されないことに気付きました。しかし、firebugで表示すると、実際にそこに表示されます。
入力要素を追加してテーブルに追加すると、うまくいきます。
私は JavaScript とこの Web に非常に慣れていないので、.createElement を介して CREATED ELEMENT を削除するのが行き詰まっています。
ここに私のコードがあります
<script>
var ctr = 1;
function showTextBox()
{
// is the table row I wanted to add the element before
var target = document.getElementById('bef');
var tblr = document.createElement('tr');
var tbld1 = document.createElement('td');
var tbld2 = document.createElement('td');
var tblin = document.createElement('input');
tblin.name = 'Author' + ctr;
tblin.id = 'Author' + ctr;
tblin.placeholder = 'add another author';
tbld1.appendChild( document.createTextNode('Author' + ctr ) );
tbld2.appendChild( tblin );
tblr.appendChild( tbld1 );
tblr.appendChild( tbld2 );
target.parentNode.insertBefore( tblr , target );
ctr++;
}
function hideTextBox()
{
var name = 'Author'+ctr;
var pTarget = document.getElementById('tbhold');
var cTarget = document.getElementById( name );
alert( cTarget ); // this one return null? Why? I have created id="Author1"
// viewing this code on source make the created elem to not appear
}
</script>
私は何か間違ったことをしていますか?本当に助けが必要です。これは学校での私のプロジェクト用です。削除する方法はありますか。そのノードを作成しましたが、何かをクリックすると削除されます。
また、私は JQuery やその他の JStuff ではなく JS を使用することを好みます。これは私のダミー フォームの単なるサンプルであるため、現時点では互換性を無視しています。それについては後で扱います。
編集実際のフォームが必要な場合は、ここにあります
<form enctype="multipart/form-data" action="process/" method="POST" />
<h3>Book Upload</h3>
<table border="2" id='tbhold'>
<tr>
<td>Title</td>
<td><input type="text" id="book_title" name="book_title" /></td>
</tr>
<tr>
<td>Author</td>
<td><input type="text" id="book_author" name="book_author" /></td>
</tr>
<tr id="bef">
<td colspan="2">
<a href="javascript:showTextBox()">add author</a>
<a href="javascript:hideTextBox()">remove</a>
</td>
</tr>
</table>
</form>
どうもありがとうございました!