【发布时间】:2017-05-12 15:20:05
【问题描述】:
我从控制器获取原始 html 并将其放入 textarea。有不同类型的字段,如 文本选择,也可以是 textarea,它们将在文本框中作为原始 html 打印。它适用于除 textarea 以外的所有字段。
当有一个包含 textarea 类型的字段时,按钮下方的字符串代码不会出现在文本框中,并且 textarea 类型的代码会显示,但 没有结束标记为
这是我的代码。
foreach($fields as $field){
$type = $field->type;
switch($type) {
case 'textarea':
$str .= '<div class="form-group">
<label class="control-label col-md-3">'.$custom_field->name.'
</label>
<div class="col-md-8">
<div class="input-icon right">
<i class="fa"></i>
<textarea name="'.$field->id.'" class="form-control" rows="8"></textarea>
</div>
</div>
</div>';
break;
}
}
现在一切正常,除了包含 textarea 类型。 问题是如果有 textarea 类型,那么下面的按钮不会出现,也不会出现 textarea 的结束标签
html 输出的这一端就像没有按钮刺痛和没有 endtag 一样
`<div class="form-group">
<label class="control-label col-md-3">Description
</label>
<div class="col-md-8">
<div class="input-icon right">
<i class="fa"></i>
<textarea name="17" class="form-control" rows="8">`
请帮忙看看哪里出错了
【问题讨论】:
-
你检查过它生成的 HTML 吗?查看页面的源代码并显示它在该文本区域字段周围生成的内容。
-
哦 - 在控制器中生成 HTML 的想法是完全错误的!这是控制器,HTML 应该在视图中 - 这就是为什么它们被称为,不仅仅是为了方便。
-
是的 html 正在生成,我得到了表单和原始 html。表单看起来很好,但在原始 html @NigelRen 中出现问题
-
@bluemoon 试试这个:stackoverflow.com/a/1638832/4771277
-
@bluemoon 是的,但我认为这是个问题。它通过在原始代码中使用 来结束父文本区域。如果您使用输入或选择,它不会结束父文本区域。但是如果你使用编码字符,它不应该结束它。看:jsfiddle.net/dfjkwzye