首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >返回输出函数javascript内部html

返回输出函数javascript内部html
EN

Stack Overflow用户
提问于 2018-08-03 02:22:59
回答 2查看 88关注 0票数 2

我想输出一个function secret();,这样它看起来就像这样:

AAAA-BBB-<random string>

但它返回以下错误:

未捕获TypeError: secret不是函数

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>Random End String</title>
  <script type="text/javascript">
    function writeName() {
      var welcomeMsg = document.getElementById('welcome');
      var name = document.getElementById('name');
      var alamat = document.getElementById('alamat');
      var secret = secret();
      var formContent = document.getElementById('entername');
      welcomeMsg.innerHTML = "Your Identifier is " + name.value + "-" + alamat.value + "-" + secret + "";
      formContent.innerHTML = "";
    }
  </script>
  <script>
    function secret() {
      var text = "";
      var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
      for (var i = 0; i < 5; i++)
        text += possible.charAt(Math.floor(Math.random() * possible.length));
    }
  </script>
</head>
<body>
  <p id="welcome"></p>
  <form id="entername">
    Your Name:<input type="text" id="name" /><br/> LockerID:
    <input type="text" id="alamat" /><br/>
    <input type="hidden" id="secret">
    <input type="button" value="Submit" onclick="writeName();" />
  </form>
</body>
</html>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-03 02:26:48

不要为var secret命名,在本例中将其更改为其他名称“secret1 works fine”。

编辑:你还需要返回你的“秘密文本”。

完整的工作示例:

function writeName() {
  var welcomeMsg = document.getElementById('welcome');
  var name = document.getElementById('name');
  var alamat = document.getElementById('alamat');
  var secret1 = secret();
  var formContent = document.getElementById('entername');
  welcomeMsg.innerHTML = "Your Identifier is " + name.value + "-" + alamat.value + "-" + secret1 + "";
  formContent.innerHTML = "";
}

function secret() {
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

  for (var i = 0; i < 5; i++) {
    text += possible.charAt(Math.floor(Math.random() * possible.length));
  }
  return text
}

function writeName1() {
  var welcomeMsg = document.getElementById('welcome');
  var name = document.getElementById('name');
  var alamat = document.getElementById('alamat');
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

  for (var i = 0; i < 5; i++) {
    text += possible.charAt(Math.floor(Math.random() * possible.length));
  }
  var formContent = document.getElementById('entername');
  welcomeMsg.innerHTML = "Your Identifier is " + name.value + "-" + alamat.value + "-" + text + "";
  formContent.innerHTML = "";
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <title>Random End String</title>
</head>

<body>
  <p id="welcome"></p>
  <form id="entername">
    Your Name:<input type="text" id="name" /><br/> LockerID:
    <input type="text" id="alamat" /><br/>
    <input type="hidden" id="secret">
    <input type="button" value="Submit" onclick="writeName();" />
  </form>
</body>

</html>

Your Name:<input type="text" id="name1" /><br/> LockerID:
<input type="text" id="alama1t" /><br/>
<input type="hidden" id="secret1">
<input type="button" value="Submit" onclick="writeName1();" />

票数 2
EN

Stack Overflow用户

发布于 2018-08-03 02:27:17

您的局部变量secret隐藏了您的函数secret。只需将变量重命名为其他名称即可解决此问题

function writeName(){
 var welcomeMsg = document.getElementById('welcome');
 var name = document.getElementById('name');
 var alamat = document.getElementById('alamat');
 var secret = secret(); //right here this is your issue
 var formContent = document.getElementById('entername');

 welcomeMsg.innerHTML = "Your Identifier is "+name.value+"-"+alamat.value+"-"+secret+""; 
 formContent.innerHTML = "";

 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51660013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档