HTML добавить в JQuery проблема - PullRequest
1 голос
/ 08 июня 2011

Привет, я добавляю столбцы в строку, хотя 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>

Что такоепроблема в добавлении?Почему тег формы всегда выше

1 Ответ

5 голосов
/ 08 июня 2011

Изменить

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

на

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

Вы не хотите добавлять свой код после элемента, но вы пытаетесь вставить его в tr.

ОБНОВЛЕНИЕ: Технически вы не должны переносить <tr> с <form>, его недействительным HTML.Tr должен быть дочерним элементом таблицы или tbody, а элементы tr должны иметь дочерние элементы td.Вам либо понадобится форма в каждом тд, либо вам понадобится форма, чтобы обернуть всю таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...