我正在尝试清空一个用php填充数据库的textarea。
以下是代码:
<select name="facility" id="facility">
<option></option>
<?php
global $__CMS_CONN__;
$sqlqry = "SELECT * FROM facility_db";
$stmt = $__CMS_CONN__->prepare($sqlqry);
$stmt->execute();
while($row = $stmt->fetchObject())
{
echo "<option value=\"$row->id\">$row->facility</option>";
}
?>
</select>
<button type="button" onclick="addFacility()">Add</button><button type="button" onclick="reset()">Reset</button>
<textarea readonly="readonly" id="facilities" name="facilities" rows="10" cols="50" value="<?php echo $facilitylist; ?>" ><?php echo $facilitylist; ?></textarea>
<input type="text" id="facilityids" name="facilityids" value="<?php echo $facilities; ?>"/>
从数据库填充选择框,Add按钮将选定的工具添加到textarea,将id添加到隐藏字段以进行数据库存储。
到目前为止,一切都很美妙。重置按钮将清除textarea和隐藏字段并重新开始。如果用户保存了他们的个人资料并选择了一些设施,就会出现问题。重置按钮仅适用于添加,但不会清除从数据库中提取的任何内容。
重置的javascript只是将那些字段id的值设置为空。
function reset()
{
document.getElementById('facilities').value = null;
document.getElementById('facilityids').value = null;
}
但它也不适用于隐藏领域。我将其设置为文本进行测试,即使我手动删除文本框中的内容,如果单击重置按钮,它也会回来。
发生了什么事?
答案 0 :(得分:2)
给该函数另一个名字。表单中有一个预定义的方法reset(),该函数恢复表单字段的初始值。
按钮是一个表单字段,因此调用其表单的reset()方法而不是自定义方法。
答案 1 :(得分:1)
function reset(){
document.getElementById('facilities').value= '';
document.getElementById('facilityids').value = '';
}
textarea的可能必须innerHTML = '';
正如dr molle所说,默认重置方法可能已用于重置()