我有这样的功能:
function textarea(array $attributes){
if(isset($attributes['name'])){
$this->name = 'name="'.$attributes['name'].'"';
}
if(isset($attributes['id'])){
$this->id = 'id="'.$attributes['id'].'"';
}
if(isset($attributes['class'])){
$this->class = 'class="'.$attributes['class'].'"';
}else{
$this->class = 'class="aisisTextElement"';
}
if(isset($attributes['rows'])){
$this->rows = 'rows="'.$attributes['rows'].'"';
}
if(isset($attributes['cols'])){
$this->cols = 'cols="'.$attributes['cols'].'"';
}
if(isset($attributes['value'])){
$this->value = $attributes['value'];
}
if(isset($attributes['style'])){
$this->style = 'style="'.$attributes['style'].'"';
}
$build_aisis_element = "<textarea {$this->id} {$this->class} {$this->name} {$this->disabled}>{$this->value}</textarea>";
echo $build_aisis_element;
}
并且每次我将其渲染出来时,例如,如果值为Bob Ill,则会得到类似的内容:
bob
<textarea></textarea>
有什么想法吗?
我已经转换了所有JavaScript,所以我可以100%准确地说它不是js这样做。
根据要求.....
创建文本区域的位置
function aisis_custom_text(){
$option = get_option('aisis_core');
$aisis_form = new AisisForm();
$aisis_form->create_aisis_form_element('label', array('value'=>'Remove the Mini Feed(s) from the site?'));
$aisis_form->create_aisis_form_element('textarea', array(
'rows'=>50,
'cols'=>50,
'name'=>'aisis_core[404_message]',
'value'=>get_value('404_message')
));
}
该值只是通过一个方法获得,该方法通过WordPress中的选项表查找该键 - 换句话说,在您输入test时,将为test测试文本的值
基本上如果放入测试然后返回测试并且文本区域填充测试
这个呈现的html:
test<textarea class="aisisTextElement"name="aisis_core[404_message]"rows="50"cols="50"></textarea>
答案 0 :(得分:0)
最可能的问题是该值包含需要转义的字符。
您可以使用以下方法解决此问题:
if(isset($attributes['value'])){
$this->value = htmlspecialchars($attributes['value']);
}
您输出到html并且不应包含html(标签)的所有字符串都需要以这种方式进行转义。