Skip to content

Commit 955bcdb

Browse files
committed
auto commit
1 parent d543aec commit 955bcdb

File tree

5 files changed

+50
-3
lines changed

5 files changed

+50
-3
lines changed

dist/get-set-form-values.js

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
/* Package: get-set-form-values. Version: 1.0.0. License: MIT. Author: dennis iversen. Homepage: https://github.com/diversen/get-set-form-values-js#readme */ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.getSetFormValues = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
1+
/* Package: get-set-form-values. Version: 1.0.5. License: MIT. Author: dennis iversen. Homepage: https://github.com/diversen/get-set-form-values#readme */ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.getSetFormValues = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
2+
function getElemCountByName (name) {
3+
var names = document.getElementsByName(name);
4+
return names.length;
5+
}
6+
27
function getFormValues(formElement) {
38
var formElements = formElement.elements;
49
var formParams = {};
@@ -7,6 +12,7 @@ function getFormValues(formElement) {
712
for (i = 0; i < formElements.length; i += 1) {
813
elem = formElements[i];
914
switch (elem.type) {
15+
1016
case 'submit':
1117
break;
1218
case 'radio':
@@ -15,6 +21,19 @@ function getFormValues(formElement) {
1521
}
1622
break;
1723
case 'checkbox':
24+
25+
// Single checkbox
26+
var numElems = getElemCountByName(elem.name);
27+
if (numElems === 1) {
28+
if (elem.checked) {
29+
if (!formParams[elem.name]) {
30+
formParams[elem.name] = elem.value;
31+
}
32+
}
33+
break;
34+
}
35+
36+
// Multiple
1837
if (elem.checked) {
1938
if (!formParams[elem.name]) {
2039
formParams[elem.name] = [elem.value];

dist/get-set-form-values.min.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,21 @@
3232
<option value="10"></option>
3333
</datalist>
3434
</div>
35-
<p>A and/or B?</p>
35+
<p>A and/or B? Checkboxes</p>
3636
<div>
3737
<input type="checkbox" name="checkbox" value="A" id="a_14">
3838
<label for="a_14">A</label>
3939
<input type="checkbox" name="checkbox" value="B" id="a_15">
4040
<label for="a_15">B</label>
4141
</div>
42+
43+
<p>A and/or B? Single checkbox</p>
44+
<div>
45+
<input type="checkbox" name="single-checkbox" value="A" id="as_14">
46+
<label for="as_14">A</label>
47+
</div>
48+
49+
4250
<p>Text</p>
4351
<input name ="input" type="text" value="">
4452
<p>Select multiple</p>

index.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
function getElemCountByName (name) {
2+
var names = document.getElementsByName(name);
3+
return names.length;
4+
}
5+
16
function getFormValues(formElement) {
27
var formElements = formElement.elements;
38
var formParams = {};
@@ -6,6 +11,7 @@ function getFormValues(formElement) {
611
for (i = 0; i < formElements.length; i += 1) {
712
elem = formElements[i];
813
switch (elem.type) {
14+
915
case 'submit':
1016
break;
1117
case 'radio':
@@ -14,6 +20,19 @@ function getFormValues(formElement) {
1420
}
1521
break;
1622
case 'checkbox':
23+
24+
// Single checkbox
25+
var numElems = getElemCountByName(elem.name);
26+
if (numElems === 1) {
27+
if (elem.checked) {
28+
if (!formParams[elem.name]) {
29+
formParams[elem.name] = elem.value;
30+
}
31+
}
32+
break;
33+
}
34+
35+
// Multiple
1736
if (elem.checked) {
1837
if (!formParams[elem.name]) {
1938
formParams[elem.name] = [elem.value];

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "get-set-form-values",
3-
"version": "1.0.4",
3+
"version": "2.0.0",
44
"description": "Get and set HTML form values using javascript",
55
"main": "index.js",
66
"scripts": {

0 commit comments

Comments
 (0)