javascript - 在模态弹出窗口中显示随机数

标签 javascript twitter-bootstrap

我正在尝试生成随机数并将其显示在按钮单击事件的弹出模式中。但是它似乎无法正常运行。 我正在使用 Bootstrap 和 javascript。

当我点击按钮打开模式时,我希望随机数显示在模式内的文本框中。

错误说:

Uncaught TypeError: Cannot read property 'randomfield' of undefined

感谢任何帮助。

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
  <h2>Modal Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" onClick="randomString(this);" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Please make a note of your ticket</h4>
        </div>
        <div class="modal-body">
          <input type="text" id="randomfield" value="">
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>

    </div>
  </div>

</div>

</body>
</html>
  <script>
function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
    }
    document.randform.randomfield.value = randomstring;
}

</script>

最佳答案

使用getElementById 将模型文本框中的随机字符串设置为randomfield:

function randomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
    var string_length = 8;
    var randomstring = '';
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum,rnum+1);
    }
    document.getElementById('randomfield').value = randomstring;
    //or even this as you are using JQuery
    //$('#randomfield').val(randomstring);
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>


<div class="container">
  <h2>Modal Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" onClick="randomString(this);" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">

      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Please make a note of your ticket</h4>
        </div>
        <div class="modal-body">
          <input type="text" id="randomfield" value="">
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>

    </div>
  </div>

</div>

关于javascript - 在模态弹出窗口中显示随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49979821/

相关文章:

javascript - Nservicekit反序列化

javascript - 在类方法中将变量传递给函数

jquery - 带有固定标题和第一列的 Twitter Bootstrap 表

html - 在 2 列布局中强制 Bootstrap col 低于其他列

jquery - 如何在 Bootstrap 中自定义折叠菜单

Javascript大数据优化

JavaScript 递归参数

javascript - 如何模块化和组合我的库?

javascript - 根据屏幕宽度显示和隐藏 Bootstrap Navbar 的按钮

html - 如何使 float 文本换行而不是打断 float ?