首页 > 解决方案 > Jquery预定义的textarea不会清除

问题描述

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

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

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

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

这里是函数...

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

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

我需要该字段来显示数据库中的值。有没有办法在不回显<div>字段上方的 DB 值并避免在 textarea 中预定义 ext 的情况下实现这一点?

谢谢。

标签: phpjqueryformstextarea

解决方案


将您的功能重命名为其他clear()内容,其余的都很好。请参阅为什么我不能从 onclick 属性调用名为 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>


推荐阅读