【问题标题】:How to disable a link when the textarea is empty?当文本区域为空时如何禁用链接?
【发布时间】:2018-04-21 23:50:04
【问题描述】:

我正在努力处理一个包含文本区域和链接按钮的网页,以这种方式制作:

<div id="row">
  <textarea class="form-control" rows="3" id="comment" placeholder="Update your Post"></textarea>
</div>

<a href="#" id="btn-post" dusk="postButton" class="btn btn-primary" role="button" data-toggle="modal" data-target="#addPost">
  <span class="ion-plus-circled"> Post </span>
</a>

它们的目的如下:点击链接时将调用一个 javascript 文件(“btn-post”),该文件将捕获要处理的 textarea 的内容,但 textarea 的内容不应该为空,因此,如果文本区域中没有至少一个字符,我希望禁用按钮链接,以避免这种情况。 一些警告:我不能使用提交按钮,并且要禁用的链接按钮必须是那个。

【问题讨论】:

标签: javascript html


【解决方案1】:

这是一个使用类和 JQuery 的解决方案。当 textarea 为空时,链接被禁用:

$(document).ready(function() {

  $("a#btn-post").addClass("disabled");

  $("textarea#comment").on("input", function() {
    if ($("textarea#comment").val())
      $("a#btn-post").removeClass("disabled");
    else
      $("a#btn-post").addClass("disabled");
  });

});
.disabled {
  pointer-events:none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="row">
  <textarea class="form-control" rows="3" id="comment" placeholder="Update your Post"></textarea>
</div>

<a href="#" id="btn-post" dusk="postButton" class="btn btn-primary" role="button" data-toggle="modal" data-target="#addPost">
  <span class="ion-plus-circled"> Post </span>
</a>

【讨论】:

  • 解决方案很完美,但我只有一件事要问:我应该把这段代码放在哪里? ".disabled { pointer-events:none }" 文件应该是什么扩展名?谢谢
  • .disabled { pointer-events:none } 应包含在 .css 文件中。
  • 什么意思 $("textarea#comment").on("input", function() { 输入文本区域,我没听说过
  • "当
  • 如果你想让它与给定的解决方案一起工作,你需要那段代码。从外部文件中包含它是最佳实践。创建您的example.css 文件或编辑已包含在 HTML 中的现有文件并将该段代码附加到其中。要在您的 HTML 中包含外部 css 文件,这里是标签及其属性:&lt;link rel="stylesheet" type="text/css" href="example.css"&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-06
相关资源
最近更新 更多