0

我正在 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>&nbsp;</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>&nbsp;</td>
<td>
<input type="submit" class="submit" value="Login">
</td>
</tr>
</tbody>
</table>
</form>

我阅读了 kohana API 文档并检查了许多与我自己的代码类似的示例,但我找不到这些不需要的列表标签的原因。

谁能解释他们来自哪里以及如何阻止他们出现?

亲切的问候

理查德

4

2 回答 2

0

No way.

Due to Kohana 3.2 Form helper Docs it only returns '<input'.HTML::attributes($attributes).' />'.

Probably you have HTML tag mistype (not-closed tag, excess tag etc.) and browser tries to fix it adding new tags...

于 2012-11-06T08:00:06.460 回答
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>&nbsp;</td>';
echo '<td>';
echo form::submit(NULL, __('Login'));
echo '</td></tr></table>';
echo form::close(); 
于 2012-11-07T08:53:28.900 回答