Jquery 预定义的文本区域不会清除

Jquery predefined textarea wont clear

使用从数据库中提取的数据预填充文本区域。

<textarea name="body" id="body" rows="5" cols="70"><? echo $body; ?></textarea>

我有一个清除按钮,使用户可以更轻松地擦除大块文本,而无需突出显示和删除。

该按钮使用 onclick="clear();" 函数调用。

这是函数...

function clear() {
    $('#body').val('');
}

问题是它不会清除预定义的文本。除了预定义文本之外,它只会清除键入的文本。或者,如果我手动删除预定义的文本,它就可以正常工作。

我需要该字段来显示来自数据库的值。有没有办法在不在字段上方的 <div> 中回显 DB 值并避免在文本区域中预定义分机的情况下完成此操作?

谢谢。

将您的函数重命名为 clear() 以外的名称,其余的都很好。参见

或者使用 .on('click', ...),如下所示,使用 class js-clear.

将事件侦听器附加到按钮

function myClear() {
  $('#body').val('');
}

$('.js-clear').on('click', function() {
  $('#body').val('');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<textarea name="body" id="body" rows="5" cols="70">test content</textarea><br>

<button onclick="myClear()">myClear</button>
<button class="js-clear">.on('click')</button>