【问题标题】:Tables were deprecated? And JavaScript has libraries? Help me catch up!表已弃用? JavaScript 有库吗?帮我赶上!
【发布时间】:2010-12-15 06:34:59
【问题描述】:

我需要调整内部打印系统的 Web 界面,但自从我接触 HTML 以来,它已经持续了十年。谁能推荐一些关于编写 HTML 表单并用 PHP 处理它们的教程? Google 只给我提供了 8 年历史的资源,顶部有大大的“仅用于历史目的”横幅,可能是因为我所有的词汇都已经 8 岁了。

php.net 上的文档很好,但我正在寻找更大的示例,以显示所有部分如何组合在一起,最好带有解释程序员想法的评论。我可以像下一个人一样查找函数 API。

编辑:专门询问 PHP 和 HTML 表单。对不起,如果标题误导了——我只是想举几个我不知道的例子。

【问题讨论】:

  • 我不会说表格被“弃用”,只是今天您应该只将它们用于表格。对于一般使用 css 的布局。
  • 另外,打卡器也越来越难买到了。 . .

标签: php webforms


【解决方案1】:

只有在谈论用于定位布局元素(页眉、菜单、内容、页脚等)的表格时,表格才被“弃用”。它们或多或少地被 CSS 和 HTML 块元素取代(通常使用 div 元素)。表格对于显示表格数据仍然很有用。

确实有比以前更多的 JS 库了。以jQuery为topper。其主要目标是消除开发人员对浏览器特定行为和冗长/重复/不直观的代码的压力。

现在的 HTML 应该是纯粹的 semantic。 CSS 应该单独设置 HTML 元素的样式和位置。 JS 应该只为页面添加额外的用户体验(以避免不必要的冗长的请求-响应周期和“内容闪现”),并且应该保持不显眼。

PHP 仍然是一种服务器端的超文本处理语言。您可以使用它对请求进行预处理和后处理,并控制流和访问 HTML 页面中的数据。

【讨论】:

  • 我希望我可以为第一段投票一百万次。我永远不会理解那些坚持(很差)用 div 模拟表格的怪人。
【解决方案2】:

让我向您推荐www.alistapart.com。它有所有关于现代 HTML 和 CSS 的最新技术(以及一些关于 javascript 的提示)。

另一个很好的资源是nettuts

“你是过去的人吗?”

【讨论】:

    【解决方案3】:

    我发现,当我忘记某些事情时,Tizag.com 非常有用,一个简单的教程——虽然它很简单,所以我不知道它对你有多大用处——就在这里,在:http://www.tizag.com/phpT/examples/formex.php,它提供了一个演练,并对所做的选择进行了一些解释。

    Javascript 库,

    1. jQuery。
    2. mootools。
    3. Glow(来自 BBC,开源且非常向后兼容)。


    根据评论编辑

    更可靠的 php 参考资料可帮助您入门:

    1. Getting started (php.net)
    2. forms tutorial(如上,php.net)

    我在 php/forms 教程(书籍之外)中发现的问题是,在我看来,ymmv 等存在一些疯狂的误用...- 表单内的 xhtml 标签,完全无视这个概念的-在别处提到-semantic (x)html。我认为在阅读教程时,关键是要保持批判性思维,并尽量警惕ab-或mis-用途:

    <form action="this_page.php" method="post" enctype="form/multipart">
    <p>This is a label <input value="this is the input" /></p>
    <p><input type="submit" value="submit" /></p>
    </form>
    

    可能是有效,但在我看来这是非常错误的1。我很惊讶没有比这更容易获得的最新资源了。


    1: 在我看来,它应该更接近于:
    <form action="this_page.php" method="post" enctype="form/multipart">
        <fieldset> // to associate relevant groups of label/input pairs
            <label>This is a label</label> <input value="this is the input" />
        </fieldset>
    
        <fieldset>
            <input type="submit" value="submit" />
        </fieldset>
    </form>
    

    【讨论】:

    • 不幸的是,这与我遇到的所有其他糟糕的初学者 PHP 教程一样犯了同样的错误。 HTML 和 PHP 之间缺乏难以理解的缩进或区别,HTML 费力地拼接在一起并回显,而不是使用语言自己的模板工具,由于缺少 htmlspecialchars 导致的跨站点脚本漏洞......我很想看到一个 PHP 教程从一开始就不鼓励不良做法。
    • 您的积分有效;当我推荐它时,我没有意识到它是如此糟糕。我对我的——明显的——对可怕的做法视而不见感到不安。并且 - 查看更新的答案 - 似乎甚至 php.net 的手册也不能幸免。 奇怪
    • 区分第一个正确示例和第二个良好示例的编辑答案正是我正在寻找的。谢谢!
    【解决方案4】:

    不推荐使用表格 = Google CSS 布局

    JavaScript 有库 = Google jQuery

    在 PHP 方面帮不上什么忙,但至少应该更新您的“Google 词汇”

    【讨论】:

      【解决方案5】:

      我不会说表格已被弃用,由于 CSS 的改进,它们只是作为一种布局机制而被人们不赞成。老实说,我仍然发现它们不仅仅用于显示表格数据,因为不同的浏览器实现 CSS 的方式不同,所以为什么要花几个小时尝试使用 CSS 正确布局,而表格将在几分钟内完成相同的操作,然后你使用 CSS 定位表格....这是纯粹主义者和有实际工作要做的实际人员之间的一场宗教战争:)

      无论如何,HTML 并没有真正改变太多(它主要是在增长),任何处理 HML 4.01 规范的东西都很好,而且一些浏览器已经实现了 HTML 5 的东西,即使它没有得到批准。任何半体面的 HTML 编辑器都应该是正确的,请查看 Microsoft 提供的免费 (Express) 版本的 Visual Studio。

      【讨论】:

      • 对不起,我回复的当前HTML版本不对,应该是4.2?
      • html 4.2 是 douglas Crockford 认为我们应该做的,而不是 html5。 4.01 仍然是最新的。
      • 是的!在某些情况下,表格对于布局仍然非常有用,尤其是在尝试垂直居中时。在 display:table-cell 在所有浏览器中可靠工作之前,我将继续使用它们。 css 纳粹如果愿意的话都可以看不起我,但是当他们花费数小时盯着样式表试图让他们的花车去他们想要的地方时,他们会开玩笑。
      • 当然,在两年内 IE6 和 IE7 的市场份额不超过 IE8 的两倍时,我们可以稍微可靠地使用它。
      猜你喜欢
      • 2020-01-07
      • 2011-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多