1

我正在开发一个简单的程序,该程序从用户那里获取输入并对输入值执行算术函数,然后通过 innerHTML 在 div 元素中显示结果。我已经尝试使用 ClipboardJS 库在按钮中实现数据目标以定位 div 元素内容,但它没有显示任何结果。

你能帮我吗?

$(document).ready(function() {
  document.getElementById("idofdiv").style.display = "none";
  document.getElementById("copybutton").style.display = "none";

  $("#showbuttonid").click(function() {
    var a = $("input#inputvaluebox").val();
    var b = a * 10;
    var b = "Value is" + b;
    document.getElementById("idofdiv").style.display = "block";
    document.getElementById("copybutton").style.display = "block";
    document.getElementById("idofdiv").innerHTML = b;
  });
});
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&display=swap');
.labelclass {
  font-size: 20px;
  font-family: 'Open Sans', sans-serif;
}

.inputvaluecss {
  box-sizing: border-box;
  border: 1px solid #DDDDDD;
  outline: none;
  margin-left: 42px;
  margin-top: 16px;
  width: 275px;
  padding-top: 12px;
  padding-left: 15px;
  padding-bottom: 12px;
}

.inputvaluecss:focus {
  box-shadow: 0 0 5px #2EDC29;
  border: 1px solid #2EDC29;
}

.divclass {
  font-size: 20px;
  font-family: 'Open Sans', sans-serif;
  color: black;
  background-color: white;
  width: 700px;
  padding-left: 18px;
  padding-top: 13px;
  padding-bottom: 13px;
  padding-right: 18px;
  box-sizing: border-box;
  border: 1px solid #DDDDDD;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>

<form>
  <br>
  <label for="inputvaluebox" class="labelclass">Input Value</label>
  <input type="text" id="inputvaluebox" name="inputvaluename" class="inputvaluecss"><br><br>

  <input type="reset" id="resetbuttonid">
  <button type="button" id="showbuttonid">Show</button><br><br><br>

  <div id="idofdiv" class="divclass"></div><br>
  <button type="button" id="copybutton" data-clipboard-target="#idofdiv">Copy content!</button>
</form>

4

2 回答 2

1

您正在做的是尝试将数学函数添加到字符串在您的情况下a是一个字符串并且b是一个数字所以您尝试转换a为数字和b字符串。那行不通 这对我有用

$(document).ready(function() {
  document.getElementById("idofdiv").style.display = "none";
  document.getElementById("copybutton").style.display = "none";

  $("#showbuttonid").click(function() {
    var a = $("input#inputvaluebox").val();
    var c = parseInt(a)
    var b = c * 10;
    var d = "Value is" + b;
    document.getElementById("idofdiv").style.display = "block";
    document.getElementById("copybutton").style.display = "block";
    document.getElementById("idofdiv").innerHTML = d;
  });
});
于 2020-06-08T09:30:12.250 回答
0

你只需要多一行代码。只需阅读官方文档:https ://clipboardjs.com/#setup

  new ClipboardJS('#copybutton')

$(document).ready(function() {
  document.getElementById("idofdiv").style.display = "none";
  document.getElementById("copybutton").style.display = "none";

  $("#showbuttonid").click(function() {
    var a = $("input#inputvaluebox").val();
    var b = a * 10;
    var b = "Value is " + b;
    document.getElementById("idofdiv").style.display = "block";
    document.getElementById("copybutton").style.display = "block";
    document.getElementById("idofdiv").innerHTML = b;
  });
  
  new ClipboardJS('#copybutton')
  
});
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@600&display=swap');
.labelclass {
  font-size: 20px;
  font-family: 'Open Sans', sans-serif;
}

.inputvaluecss {
  box-sizing: border-box;
  border: 1px solid #DDDDDD;
  outline: none;
  margin-left: 42px;
  margin-top: 16px;
  width: 275px;
  padding-top: 12px;
  padding-left: 15px;
  padding-bottom: 12px;
}

.inputvaluecss:focus {
  box-shadow: 0 0 5px #2EDC29;
  border: 1px solid #2EDC29;
}

.divclass {
  font-size: 20px;
  font-family: 'Open Sans', sans-serif;
  color: black;
  background-color: white;
  width: 700px;
  padding-left: 18px;
  padding-top: 13px;
  padding-bottom: 13px;
  padding-right: 18px;
  box-sizing: border-box;
  border: 1px solid #DDDDDD;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>

<form>
  <br>
  <label for="inputvaluebox" class="labelclass">Input Value</label>
  <input type="text" id="inputvaluebox" name="inputvaluename" class="inputvaluecss"><br><br>

  <input type="reset" id="resetbuttonid">
  <button type="button" id="showbuttonid">Show</button><br><br><br>

  <div id="idofdiv" class="divclass"></div><br>
  <button type="button" id="copybutton" data-clipboard-target="#idofdiv">Copy content!</button>
</form>

于 2020-06-08T09:39:15.837 回答