【问题标题】:Setting the 'name' property of a Form in Codeigniter在 Codeigniter 中设置表单的“名称”属性
【发布时间】:2011-09-18 16:55:19
【问题描述】:

参考http://codeigniter.com/user_guide/helpers/form_helper.html 的 Codeigniter 用户指南,我似乎无法弄清楚如何使用 CI 的表单助手设置表单的“名称”属性。传入数组只能设置'id'。不传数组给form_open()函数可以设置表单的'name'吗?

【问题讨论】:

    标签: php html forms codeigniter


    【解决方案1】:

    你可以用这个方法

    $attributes = array('name' => 'myform');
    
    echo form_open('email/send', $attributes);
    

    【讨论】:

    • 我不知道为什么我的答案被否决了...因为 w3school 还使用带有表单标签的 name 属性..w3 school example
    • 我没有对它投反对票,但我认为它已经完成,因为您的解决方案使用了一个数组,并且 OP 要求使用非数组解决方案,但我可能对 downvoter 的意图有误..
    • @Damien Pirsy,OP 说:“只有 'id' 可以通过传入数组来设置。”但事实并非如此。如果他的问题是基于 name 属性可能无法使用数组传递给表单助手的前提,那么这是一个无关紧要的问题,因为 cchameed 已经证明可以使用数组将名称传递给表单助手。我刚刚在我的表单中使用了这种方法,现在我看到了一个以前没有的名称属性。
    • 也许我错了,但Can the 'name' of the form be set without passing an array to the form_open() 表示 OP 不想传递数组,句号。我认为这个问题具有误导性
    • 对,他这么问。但他似乎是在使用数组无法完成的前提下问的,现在不是这样(可能是两年前他问这个问题的时候)。
    【解决方案2】:

    表单的 name 属性实际上已被弃用:

    17.3 表单元素

    [....]

    name = cdata [CI]
        This attribute names the element so that it may be referred to
    

    来自样式表或脚本。笔记。 此属性已包含在 向后兼容性。应用 应该使用 id 属性来 识别元素。

    来源:W3.org

    如果你真的想通过它,恐怕你别无选择,只能使用你想避免的数组,正如你在手册中阅读的那样。

    【讨论】:

    • 很高兴知道!只是想知道使用'name'和'id'之间是否有任何重大区别,也许'name'仍然用于旧版浏览器?
    • @Nyxynyx 听起来就是这样!无论如何,ID 更实用,因为您可以轻松附加 js 处理程序、css 类等。此外,在
      中没有什么可以从服务器端检索(当然不是输入),所以我不明白为什么要使用它;)
    • 我想知道为什么 name 属性会被弃用,而在 javascript 中将表单名称称为关联数组元素非常有用:document.forms['myform']
    • 为什么不是更直接直接的document.getElementById('myformid')?你为什么反对?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-03
    • 2014-02-03
    • 2020-03-14
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多