【问题标题】:For a HTML Form, JavaScript or not? - Year 2020 [closed]对于 HTML 表单,是否使用 JavaScript? - 2020年[关闭]
【发布时间】:2020-06-01 13:32:32
【问题描述】:

问题 1: 我正在构建一个网站表单,其中包括多个输入框(文本、电子邮件、电话、URL ...)、一个文本区域和多个复选框,用户可以在其中选择多个选项。我将所有的 HTML5 验证都使用了“必需”等。

我害怕在表单中使用 JavaScript,因为我读到它是黑客的门户,而 HTML5 正在用它自己的验证属性(如“必需”等)替换这个 JavaScript。

这是真的吗?

我很困惑,因为有些教程仍然使用 JavaScript 来验证和发送表单信息。但是,一切看起来您只需要 HTML 来编写客户端脚本。

问题 2: 谁能告诉我 JavaScript 的更新是什么?

问题 3: 我们可以用纯 CSS 代替 JavaScript 制作动态网站吗?

【问题讨论】:

  • 这个问题过于宽泛、基于观点或需要讨论,因此不适合 Stack Overflow。如果您有具体的、可回答的编程问题,请提供完整的详细信息。
  • 你没有错,任何客户端都可以更改。您应该始终在客户端和服务器端进行验证!客户端,因此它不会发布到您的服务器并且您已经有了值和状态,而服务器端因为您的正确黑客不打扰反编译和摆弄 UI,他们将直接针对 API。没有 css 无法进行验证,但可以方便地使用 2020 样式和动画等显示错误和表单。
  • "我们可以用纯 CSS 代替 JavaScript 制作动态网站吗?"我认为,如果您能在这种情况下更具体地说明“动态网站”的含义,那将会很有帮助。
  • 问题1:HTML有很多用于验证的概念。简短的回答是:一般来说,对于大多数目的来说它应该足够了。更长的答案:如果您需要支持 Internet Explorer 等旧版浏览器并使用例如 type="Date"。它只是开箱即用。
  • 一般来说,我想说的是,您越能避免编写 JavaScript 并且可以依赖 HTML5 表单验证,就越好,因为您正在利用已经过良好测试的代码,因此机会更少对于错误。但这确实意味着您可能只能在以后的浏览器上获得预期的验证结果,正如@MatthiasGwiozda 所说。

标签: javascript html css forms


【解决方案1】:

HTML5 有一些很棒的“新功能”,其中涉及一个名为 pattern 的属性。您可以包含正则表达式来进行一些客户端验证。

更多关于模式属性的使用可以在这里找到: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern

HTML5 正在取代 javascript 吗? 不是真的。他们都有优点和缺点。客户端始终是“可破解的”,如果您使用服务器端技术来获取数据,则无需担心 HTML5 或 Javascript 更安全。只需确保在将条目保存到数据库之前使用 SSL 连接并验证/反 SQL 注入/XSS 即可。

我们可以用纯 CSS 代替 JavaScript 制作动态网站吗? 您可以设置样式并使其对哪些字段是必需的或有错误的更可见,或者在选中复选框时使内容可见或不可见,仅此而已。

简单示例:

<form>
  <div>
    <label for="uname">Choose a username: </label>
    <input type="text" id="uname" name="name" required size="45"
           pattern="[a-z]{4,8}" title="4 to 8 lowercase letters">
    <span class="validity"></span>
    <p>Usernames must be lowercase and 4-8 characters in length.</p>
  </div>
  <div>
    <button>Submit</button>
  </div>
</form>

【讨论】:

  • 希望我回答了您的一些问题。公平地说,您陈述您在网上找到的事实,例如 '我害怕在表单中使用 JavaScript,因为我读到它是黑客和 HTML5 的门户'如果您将其包含在您的问题作为参考。
猜你喜欢
  • 2020-09-22
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 2021-04-05
  • 1970-01-01
相关资源
最近更新 更多