【问题标题】:Form Progress Bar表单进度条
【发布时间】:2013-11-18 16:03:57
【问题描述】:

我希望设置一个具有进度条的表单,同时用户填写输入字段。我已经设置了我从教程和在线知道的所有内容,但它不起作用。

请查看是否有人能弄清楚它为什么不起作用。

保存在这里 -> http://jsfiddle.net/VbP4w/

这是示例 JS 代码

      $("#form input").keyup(function() {
      var numValid = 0;
      $("#form input[required]").each(function() {
          if (this.validity.valid) {
              numValid++;
          }
      });

      var progress = $("#progress"),
          progressMessage = $("#message");

      if (numValid == 0) {
          progress.attr("value", "0");
          progressMessage.text("Please Enter Student ID.");
      }
      if (numValid == 1) {
          progress.attr("value", "10");
          progressMessage.text("Please Enter the First Name.");
      }
      if (numValid == 2) {
          progress.attr("value", "20");
          progressMessage.text("Please Enter the Last Name.");
      }
      if (numValid == 3) {
          progress.attr("value", "30");
          progressMessage.text("Please Enter Your E-mail");
      }
      if (numValid == 4) {
          progress.attr("value", "40");
          progressMessage.text("Please Enter a Password.");
      }
      if (numValid == 5) {
          progress.attr("value", "50");
          progressMessage.text("Please Re-Enter a Password.");
      }
      if (numValid == 6) {
          progress.attr("value", "60");
          progressMessage.text("Please Enter A Street Address.");
      }
      if (numValid == 7) {
          progress.attr("value", "70");
          progressMessage.text("Please Enter a City.");
      }
      if (numValid == 8) {
          progress.attr("value", "80");
          progressMessage.text("Please Enter a ZipCode.");
      }
      if (numValid == 9) {
          progress.attr("value", "100");
          progressMessage.text("Please Pick a State and Submit the Form.");
      }

      });

【问题讨论】:

  • 你忘记包含jQuery库jsfiddle.net/VbP4w/2
  • 在这种情况下,我将如何在 HTML 中实现它? @asprin
  • 把这个<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>放在你的<head>部分或者$("#form input").keyup(function() {之前
  • @asprin 确实有效,也许是错误的库?
  • 只包括 jquery 库,就像 asprin 说的那样。 http://jsfiddle.net/7PbGT/

标签: javascript html css


【解决方案1】:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script‌​>
<script>
$(function(){ // do not forget to add this too
$("#form input").keyup(function() {
          var numValid = 0;
          $("#form input[required]").each(function() {
              if (this.validity.valid) {
                  numValid++;
              }
          });
.
.
.
.
.
.
});
}); // and the closing braces
</script>

PS:注意两个不同的&lt;script&gt; 标签。他们需要分开。另外不要忘记将您的 keyup 函数包装在 $(function(){});

【讨论】:

  • @aspirin,这正是我设置它的方式..一个在彼此之上,在他们自己的标签中......没有通过浏览器运行......你可以在这里尝试...... web.njit.edu/~tv37/202/home.html
  • 这绝对是因为没有将你的 keyup 函数包装在 $(function(){})
  • 完美。都是因为括号
猜你喜欢
  • 1970-01-01
  • 2013-04-18
  • 2015-07-21
  • 2011-08-25
  • 1970-01-01
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
  • 2011-03-06
相关资源
最近更新 更多