You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
用 name 或 id 访问 form control 元素的时候, 和 input 的 type 无关。
只和元素的个数有个 只要是多个元素 就会返回 RadioNodeList(即使他们的type不是radio),如果只有一个元素,就会返回 HTMLElement(即使input的type是radio) 。
当你用 form[name].value 获取 选中的 radio 的值的时候可能不对
因为上一条的原因,如果表单里面只有一个同名的 radio 那么这里可能会踩到坑 那就是这个radio可能并没有被选中。因为只有一个元素的时候返回的是 HTMLInputElement 一般都会有value
form[name] 可能是一个 img
当你访问的name没有 form control 元素,但是有一个img[id="name"]时,你会得到一个<img>元素,其他具有同样id的元素则不会
即使 input 的 id 或 name 改变,你仍然可以用原来的 id 或 name 访问到这个input, 直到这个元素被移除
The text was updated successfully, but these errors were encountered:
今天读了一些关于 html
form
元素的文档, 记录几点form[method]
因为在 http 规范中
POST
GET
PUT
等方法都是大写的,我一直以为 method 也应该用大写,实际上按照规范应该是小写https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fs-method
虽然他们大小写不敏感,但还是按照规法比较好,实际上不管你写大写还是小写 form.method 都会是小写的。同样
button[formmethod]
也应该小写我想到去看下这个是因为我最近用到了
method="dialog"
form.enctype
form.enctype
在 html5 中新增了一个text/plain
, 搜了一圈也没找到具体增加这个的原因,可能真的如找到的几篇文章所言也就form[action^="mailto:"]
的时候有点用吧indeterminate
input[type="checkbox"]
indeterminate 不会影响 checkbox 的提交, 只和checked
有关。如果要提交
indeterminate
状态,可以创建一个input[type="hidden"]
来保存form[name]
规范 https://html.spec.whatwg.org/multipage/forms.html#htmlformelement
我以前不知道的几点
用
name
或id
访问 form control 元素的时候, 和 input 的 type 无关。只和元素的个数有个 只要是多个元素 就会返回
RadioNodeList
(即使他们的type不是radio),如果只有一个元素,就会返回HTMLElement
(即使input的type是radio) 。因为上一条的原因,如果表单里面只有一个同名的
radio
那么这里可能会踩到坑 那就是这个radio
可能并没有被选中。因为只有一个元素的时候返回的是HTMLInputElement
一般都会有valueimg
当你访问的name没有 form control 元素,但是有一个
img[id="name"]
时,你会得到一个<img>元素,其他具有同样id的元素则不会input
的id
或name
改变,你仍然可以用原来的id
或name
访问到这个input
, 直到这个元素被移除The text was updated successfully, but these errors were encountered: