1

こんにちは私はjqueryを介して行に列を追加しています。私はこのような列を持っています

<form action="certifications.php?action=addnew_save" method="post">
<tr id="add_new_<?php echo($v_id);?>" valign="top" bgcolor="#EEEEEE"></tr>
</form>

今私がしていることは、<td>この行にいくつかを追加しています。私のJavaScript関数は次のようになります

var sr=document.getElementById('hidden_'+vid).value;
var append='';
    append+='<td width="40" align="center">'+sr+'</td>';
    append+='<input type="hidden" value="'+vid+'">';
    append+='<td width="200" align="center"><input type="text" name="short_name" size="25" autocomplete="off" value="" /></td>';
    append+='<td width="200" align="center"><input type="text" name="full_name" size="25" autocomplete="off" value="" /></td>';
    append+='<td width="80" align="center"></td>';
    append+='<td width="80" align="center"><input type="checkbox" name="feature" /></td>';
    append+='<td width="80" align="center"><input type="text" name="order" size="2" value="" /></td>';
    append+='<td width="80" align="center"><input type="checkbox" name="hidden" /></td>';
    append+='<td width="80" align="center"></td>';
    append+='<td width="50" class="style3" align="center"></td>';
    append+='<td width="50" class="style3" align="center"><INPUT TYPE="submit"  VALUE="Submit" NAME="Submit"></td>';
    append+='<td width="50" class="style3" align="center"><a href="certifications.php?action=delete&id="onclick="if(confirm(\'Are you sure you want to Delete it ?\')){return true;}else{return false;}" >Delete</a></td>';
    append+='<td width="80" align="center"></td>';
    jQuery('#add_new_'+vid).append(append);

列は追加されますが、問題はformタグにあります。私のコードから、htmlを追加した後は次のようになります

<form action="certifications.php?action=addnew_save" method="post">
<tr id="add_new_<?php echo($v_id);?>" valign="top" bgcolor="#EEEEEE">
 <td widht="40">Value</td>
 Other tds
  .
  .
  .
  .
</tr>
</form>

しかし、私は上記のフォームタグを取得して<tr>います、そしてそれはこのように見えます

   <form action="certifications.php?action=addnew_save" method="post">
   </form>
    <tr>
     my <td>
    </tr>

追加の問題は何ですか?フォームタグが常に上にある理由

4

1 に答える 1

5

変化する

jQuery('#add_new_'+vid).append(append);

jQuery('#add_new_'+vid).html(append);

要素の後にコードを追加したくありませんが、tr に挿入しようとしています。

更新: 技術的には、無効な HTML でをラップ<tr>しないでください。<form>tr はテーブルまたは tbody の子である必要があり、tr 要素は子として td を持っている必要があります。各 td にフォームが必要になるか、テーブル全体をラップするフォームが必要になります。

于 2011-06-08T13:50:56.913 に答える