我正在kohana 3.2中开发一个表单,我注意到当表单输入呈现时,我在表单输入周围得到一个html列表标记。为了测试,我已经删除了所有CSS以保持清晰。有问题的代码如下。
echo $form->open('user/login');
echo '<table>';
echo '<tr><td>'.$form->input('username').'</td>';
echo '<td>';
echo $form->input('password');
echo '</td></tr>';
echo '<tr><td> </td>';
echo '<td>';
echo $form->submit(NULL, __('Login'));
echo '</td></tr></table>';
echo $form->close();
当这呈现时,我看到输入周围的列表标签。在Firebug中,我看到以下
<form accept-charset="utf-8" method="post" action="/newsite/index.php/user/login">
<table>
<tbody>
<tr>
<td>
<li>
<input type="text" class="text" name="username">
</li>
</td>
<td>
<li>
<input type="text" class="text" name="password">
</li>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" class="submit" value="Login">
</td>
</tr>
</tbody>
</table>
</form>
我已经阅读了kohana API文档并检查了许多与我自己的代码类似的示例,但我找不到这些不需要的列表标记的原因。
任何人都可以解释他们的来源以及如何阻止他们出现吗?
亲切的问候
理查德
答案 0 :(得分:0)
没办法。
由于Kohana 3.2 Form helper Docs,它只返回'<input'.HTML::attributes($attributes).' />'
。
可能您有HTML标记错误类型(非关闭标记,多余标记等),浏览器会尝试修复它添加新标记...
答案 1 :(得分:0)
请尝试以下代码
echo form::open('user/login');
echo '<table>';
echo '<tr><td>'.form::input('username').'</td>';
echo '<td>';
echo form::input('password');
echo '</td></tr>';
echo '<tr><td> </td>';
echo '<td>';
echo form::submit(NULL, __('Login'));
echo '</td></tr></table>';
echo form::close();