Skip to content

Commit 9e18d00

Browse files
committed
Try to improve browser support
1 parent b0f2ec7 commit 9e18d00

File tree

1 file changed

+18
-13
lines changed
  • rest_framework/static/rest_framework/docs/js

1 file changed

+18
-13
lines changed

rest_framework/static/rest_framework/docs/js/api.js

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,27 @@ function formEntries (form) {
2828

2929
var entries = []
3030

31-
for (var { name, type, value, files, checked, selectedOptions } of Array.from(form.elements)) {
32-
if (!name) {
31+
for (var i = 0; i < form.elements.length; i++) {
32+
var element = form.elements[i]
33+
34+
if (!element.name) {
3335
continue
3436
}
3537

36-
if (type === 'file') {
37-
for (var file of files) {
38-
entries.push([name, file])
38+
if (element.type === 'file') {
39+
for (var j = 0; j < element.files.length; j++) {
40+
entries.push([element.name, element.files[j]])
3941
}
40-
} else if (type === 'select-multiple' || type === 'select-one') {
41-
for (var elm of Array.from(selectedOptions)) {
42-
entries.push([name, elm.value])
42+
} else if (element.type === 'select-multiple' || element.type === 'select-one') {
43+
for (var j = 0; j < element.selectedOptions.length; j++) {
44+
entries.push([element.name, element.selectedOptions[j].value])
4345
}
44-
} else if (type === 'checkbox') {
45-
if (checked) {
46-
entries.push([name, value])
46+
} else if (element.type === 'checkbox') {
47+
if (element.checked) {
48+
entries.push([element.name, element.value])
4749
}
4850
} else {
49-
entries.push([name, value])
51+
entries.push([element.name, element.value])
5052
}
5153
}
5254

@@ -94,7 +96,10 @@ $(function () {
9496
var params = {}
9597
var entries = formEntries($form.get()[0])
9698

97-
for (var [paramKey, paramValue] of entries) {
99+
for (var i = 0; i < entries.length; i++) {
100+
var entry = entries[i]
101+
var paramKey = entry[0]
102+
var paramValue = entry[1]
98103
var $elem = $form.find('[name=' + paramKey + ']')
99104
var dataType = $elem.data('type') || 'string'
100105

0 commit comments

Comments
 (0)