【问题标题】:Make a HTML form in a random order以随机顺序制作 HTML 表单
【发布时间】:2017-11-21 20:57:08
【问题描述】:

如何以随机顺序制作 HTML 表单?这是我的 HTML 代码:

<div class="form-row">
            <label>
                <span>Welke game heeft géén multiplayer?</span>
                <select name="geen_multiplayer">
                    <option selected disabled>Maak een keuze</option>
                    <option>Red Dead Redemption 2</option>
                    <option>Destiny 2</option>
                    <option>South Park: The Fractured but Whole</option>
                    <option>FIFA 18</option>
                </select>
            </label>
        </div>


        <div class="form-row">
            <label>
                <span>Welke game is door Rockstar Games gemaakt?</span>
                <select name="gemaakt_rockstar">
                    <option selected disabled>Maak een keuze</option>
                    <option>Star Wars Battlefront II</option>
                    <option>The Elder Scrolls Online: Morrowind</option>
                    <option>Destiny 2</option>
                    <option>Red Dead Redemption 2</option>
                </select>
            </label>
        </div>

        <div class="form-row">
            <label>
                <span>Wat is géén shooter?</span>
                <select name="geen_shooter">
                    <option selected disabled>Maak een keuze</option>
                    <option>Red Dead Redemption 2</option>
                    <option>Destiny 2</option>
                    <option>Call of Duty: WWII</option>
                    <option>Star Wars Battlefront II</option>
                </select>
            </label>

所以这是 3 个问题。我想这样做,以便当您刷新页面时,问题将按随机顺序排列。 我也在使用 python,但如果我需要让它随机的话,我不需要。我在 python 中访问这样的表单:

if (request.form["gemaakt_rockstar"] == "Red Dead Redemption 2"):
    score += 1

有没有办法让这些问题随机排列?我需要python还是其他东西?

【问题讨论】:

  • 我现在的完整脚本:pastebin.com/U8QxgtGy 为什么这不起作用?
  • 有人可以帮忙吗?我有一个截止日期..

标签: python html random


【解决方案1】:

您可以简单地使用 jquery 来做到这一点。

var forms = $(".form-row");
for(var i = 0; i < forms.length; i++){
    var target = Math.floor(Math.random() * forms.length -1) + 1;
    var target2 = Math.floor(Math.random() * forms.length -1) +1;
    forms.eq(target).before(forms.eq(target2));
}

参考here

var forms = $(".form-row");
for(var i = 0; i < forms.length; i++){
    var target = Math.floor(Math.random() * forms.length -1) + 1;
    var target2 = Math.floor(Math.random() * forms.length -1) +1;
    forms.eq(target).before(forms.eq(target2));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-row">
  <label>
      <span>Welke game heeft géén multiplayer?</span>
      <select name="geen_multiplayer">
          <option selected disabled>Maak een keuze</option>
          <option>Red Dead Redemption 2</option>
          <option>Destiny 2</option>
          <option>South Park: The Fractured but Whole</option>
          <option>FIFA 18</option>
      </select>
  </label>
</div>


<div class="form-row">
  <label>
      <span>Welke game is door Rockstar Games gemaakt?</span>
      <select name="gemaakt_rockstar">
          <option selected disabled>Maak een keuze</option>
          <option>Star Wars Battlefront II</option>
          <option>The Elder Scrolls Online: Morrowind</option>
          <option>Destiny 2</option>
          <option>Red Dead Redemption 2</option>
      </select>
  </label>
</div>

<div class="form-row">
  <label>
      <span>Wat is géén shooter?</span>
      <select name="geen_shooter">
          <option selected disabled>Maak een keuze</option>
          <option>Red Dead Redemption 2</option>
          <option>Destiny 2</option>
          <option>Call of Duty: WWII</option>
          <option>Star Wars Battlefront II</option>
      </select>
  </label>
<div>

【讨论】:

  • 感谢您的回复。目前,它对我不起作用。难道我做错了什么?这是我的完整 HTML 代码:pastebin.com/n5nzAsmB
  • 查看您的代码,我看到其他元素也有 .form-row 类(文本框和按钮容器)。也许您可以删除它们或添加一个不同的类,例如 questions 到仅问题容器(因为您只需要随机化您的问题而不是所有内容)并在 jquery 中使用它们,例如 var forms = $(".questions")
  • 好的,我明白了。我这样做了,但它似乎仍然不起作用。我在我的 HTML 中包含了 CSS:pastebin.com/GJxnmqJV
  • 它似乎在这里工作 - codepen.io/PleaseBugMeNot/pen/awJLJx。你可以检查吗。希望你只看问题,第一个文本框不会改变
  • 也许问题是我只使用了 HTML 部分?我只使用一个html文件并将脚本粘贴在那里?有问题吗?
猜你喜欢
  • 2023-04-04
  • 2012-11-19
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
相关资源
最近更新 更多