var formData = new FormData(document.querySelector('form'))
이 양식에 사용 된 모든 이름과 값을 포함 - 당신은 그것이 그대로 formData을 게시 할 수 있습니다.
4.jQuery.serializeArray을 바탕으로, 키 - 값 쌍을 반환합니다.
jQuery.serializeArray을 바탕으로, 키 - 값 쌍을 반환합니다.
var data = $('#form').serializeArray().reduce(function(obj, item) {
obj[item.name] = item.value;
return obj;
}, {});
5.
document.querySelector('form').addEventListener('submit', (e) => {
const formData = new FormData(e.target);
// Now you can use formData.get('foo'), for example.
// Don't forget e.preventDefault() if you want to stop normal form .submission
});
이것은 nitpicky 대답이지만,이 더 나은 솔루션입니다 이유를 설명해 보자 :
6.그것은 2019이며,이 할 수있는 더 좋은 방법이있다 :
그것은 2019이며,이 할 수있는 더 좋은 방법이있다 :
const form = document.querySelector('form');
const data = new URLSearchParams(new FormData(form).entries());
나 대신 일반 객체를 원하는 경우
const form = document.querySelector('form');
const data = Object.fromEntries(new FormData(form).entries());
참고 있지만 당신 같은 중복 키이하지 않습니다 작업에서 얻을 다중 선택하고 동일한 이름을 가진 중복 체크 박스.
7.사용 .serializeArray ()는 배열 형식의 데이터를 가져온 다음 객체로 변환합니다 :
사용 .serializeArray ()는 배열 형식의 데이터를 가져온 다음 객체로 변환합니다 :
function getFormObj(formId) {
var formObj = {};
var inputs = $('#'+formId).serializeArray();
$.each(inputs, function (i, input) {
formObj[input.name] = input.value;
});
return formObj;
}
8.여기에서도 jQuery를 필요로하지 않습니다 정말 간단하고 짧은 soluton입니다.
여기에서도 jQuery를 필요로하지 않습니다 정말 간단하고 짧은 soluton입니다.
var formElements=document.getElementById("myForm").elements;
var postData={};
for (var i=0; i<formElements.length; i++)
if (formElements[i].type!="submit")//we dont want to include the submit-buttom
postData[formElements[i].name]=formElements[i].value;
9.나는 이것을 사용
나는 이것을 사용
jQuery를 플러그인
(function($){
$.fn.getFormData = function(){
var data = {};
var dataArray = $(this).serializeArray();
for(var i=0;i<dataArray.length;i++){
data[dataArray[i].name] = dataArray[i].value;
}
return data;
}
})(jQuery);
11.여기에 제대로 체크 박스, 라디오 버튼, 슬라이더 처리하는 작업 자바 스크립트만을 구현 한 것입니다 (물론 아마 다른 입력 유형,하지만 난 단지 이것들을 테스트했습니다).
여기에 제대로 체크 박스, 라디오 버튼, 슬라이더 처리하는 작업 자바 스크립트만을 구현 한 것입니다 (물론 아마 다른 입력 유형,하지만 난 단지 이것들을 테스트했습니다).
function setOrPush(target, val) {
var result = val;
if (target) {
result = [target];
result.push(val);
}
return result;
}
function getFormResults(formElement) {
var formElements = formElement.elements;
var formParams = {};
var i = 0;
var elem = null;
for (i = 0; i < formElements.length; i += 1) {
elem = formElements[i];
switch (elem.type) {
case 'submit':
break;
case 'radio':
if (elem.checked) {
formParams[elem.name] = elem.value;
}
break;
case 'checkbox':
if (elem.checked) {
formParams[elem.name] = setOrPush(formParams[elem.name], elem.value);
}
break;
default:
formParams[elem.name] = setOrPush(formParams[elem.name], elem.value);
}
}
return formParams;
}
함수 setOrPush (대상, 발) {
VAR 결과 = 브로;
경우 (목표) {
= [대상] 결과;
(발) result.push;
}
결과를 반환;
}
함수 getFormResults (formElement) {
var에 formElements = formElement.elements;
var에 formParams = {};
난 VAR = 0;
VAR ELEM = NULL;
위한 (I = 0; I
은? P> 무엇
<= "a_0"레이블>를 라벨>
< "A_1"레이블 => B 라벨>
< "A_2"= 레이블> C 라벨>
<= "a_3"레이블> D 라벨>
DIV>