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.

更新:从技术上讲,您不应该<tr>用 a包装 a <form>,它是无效的 HTML。tr 必须是 table 或 tbody 的子元素,并且 tr 元素必须有 td 作为子元素。您要么在每个 td 中需要一个表格,要么需要您的表格来包裹整个表格。

于 2011-06-08T13:50:56.913 回答