如何使用 YUI 库在选择框中的 onchange 事件后插入额外的输入文本框?
需要使用 YUI,并且表单是使用 PEAR Quickforms 库创建的。
我还没有是这样的:
$form->addElement('select', 'names', "Choose Name", $options, array('style'=>'width:300px', 'onchange' => 'name_changed(this.value);'));
$js =
<<<EOS
<script type="text/javascript">
function name_changed(name) {
alert('name is changed');
}
</script>
EOS;
$form->addElement('static', 'jsembed', '', utf8_encode($js));
如果我更改选择框中的选项,则会弹出警报,这适用于测试。
现在我需要检查选择的选项,如果它等于“新”,应该会出现一个文本输入字段,在选择框下输入一个新名称。
我的问题是,我不知道输入的名称也传递给提交的快速表单数据是否正确。
所以我通常使用 $form->addElement('input',...) 创建了元素,并复制了它的 html 源代码。在选项更改事件中,我尝试在正确的位置插入原始 html 代码:
var htmlContent = '<div id="fitem_id_dbname" class="fitem fitem_ftext"><div class="fitemtitle"><label for="id_dbname">Create new DB </label></div><div class="felement ftext" id="yui_275"><input size="60" name="dbname" type="text" value="" id="id_dbname"></div></div>';
document.getElementsByClassName('fcontainer clearfix').innerHTML = htmlContent;
但这不起作用,浏览器中没有输入字段。
有人可以告诉我如何正确地做吗?非常感谢!