[英]How to get form data in JSON format using Javascript or jQuery
How to get form data in json format, i can done something but i didnt get some fields values.如何获取 json 格式的表单数据,我可以做一些事情,但我没有得到一些字段值。 im using javascript to get form values.我使用 javascript 来获取表单值。
My full code on here.. please visit on my fiddle.我的完整代码在这里..请访问我的小提琴。
i want to get all values like JSON Format我想获得像 JSON 格式这样的所有值
Example例子
JSON FORMAT:
{
"vouchno": 3,
"reason": null,
"ledgerno": null,
"entrytype": null,
"vouchdt": null,
"refno": null,
"refdt": null,
"billtype": "OT",
"acctcode": null,
"tds": "N",
"narration": null,
"debitamt": null,
"creditamt": null,
"total": 10000,
"deleted": null,
"realise": null,
"realisedt": null,
"createby": null,
"cashactcode": 36,
"createon": null,
"acctname": null,
"amount": null,
"availableamt": 46984,
"opbaltype": null,
"strvouchdt": "19/10/2019",
"strrefdt": null,
"cashpayments": [
{
"acctcode": 41,
"debit": 10000,
"credit": null,
"narr": "",
"actname": "ACCOUNT1"
},
{
"acctcode": 41,
"debit": 10000,
"credit": null,
"narr": "",
"actname": "ACCOUNT1"
}
]
}
But i can done something here但我可以在这里做点什么
var status; var sno = []; var load; var no_rows = 0; var row; var mainArr = []; var tmpArr = []; function loadValues() { var mainTable = $('#tab_logic'); var tr = mainTable.find('tbody tr'); console.log(tr.length) tr.each(function() { tmpArr = []; $(this).find('td').each(function() { var values = $(this).find('input, select').val(); tmpArr.push(values); }); mainArr.push(tmpArr); }); console.log(mainArr); } $(document).ready(function() { $(".add_Row").click(function() { row = `<tr id="tasklist"><td><input type="text" class="sno sel_text form-control" placeholder="A/c code"></input></td><td><select class="sel_sel form-control status" id="dropdown2" name="dropdown2"><option value="">Choose an items</option><option value="acc1">Account 1</option><option value="acc2">Account 2</option><option value="acc3">Account 3</option></select></td><td><input type="text" class="form-control pname" placeholder='Enter your text here' id='acc_narrat' data-toggle='modal' data-target='#accnarratModal'></input></td><td><input type="text" placeholder='Debit Amount' class='form-control task input-md' id='cashdeb'data-action='sumDebit'></input></td><td><input type="text" placeholder='Credit Amount' data-action='sumCredit' class='form-control comment input-md' readonly></input></td></tr>`; $("table > tbody").append(row); var defVal = $("select[name=dropdown1]").find(":selected").val(); if (defVal) { $("select[name=dropdown2]").find(`option[value=${defVal}]`).hide(); } bindScript(); }); $('.load').click(function() { loadValues(); }); }); $('select[name=dropdown1]').on('change', function() { $("select[name=dropdown2]").find('option').show(); var from = $(this).find(":selected").val(); $("select[name=dropdown2]").val(''); if (from;= "") { debugger. $("select[name=dropdown2]").find(`option[value=${from}]`);hide(); } }). // Get value from dropdown to show text box using class function bindScript() { $(document).find('.sel_sel'),on("change". function() { $(this).parent().parent().find('.sel_text').val($(this);val()); }) }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
My full html code on fiddle我在小提琴上的完整 html 代码
Please Suggest anything..请提出任何建议..
This will be helpful这会有所帮助
Write below code in the submit function在提交 function 中写入以下代码
var formData = {}; $("#contactForm").find('.form-control').each(function(index, control) { if (this.tagName.toLowerCase() == 'select' || this.tagName.toLowerCase() == 'input') { formData[this.name] = $(this).val() } }); console.log(formData)
This approach can help这种方法可以帮助
function loadValues() {
//move on this
var mainArr = [];
var tmpArr = [];
var mainTable = $('#tab_logic');
var tr = mainTable.find('tbody tr');
console.log(tr.length)
tr.each(function() {
tmpArr = [];
$(this).find('td').each(function() {
//get attr id
let title = $(this).find('input, selet').attr('id');
var values = $(this).find('input, select').val();
//input json format
let pushing = $.parseJSON( '{ "' + title + '": "' + values + '" }' );
tmpArr.push(pushing);
});
mainArr.push(tmpArr);
});
console.log(mainArr);
}
I think it will be useful to you我认为这对你有用
Example Form示例表格
<form id="myForm" name="myForm">
<div>
<label for="username">Enter name:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="useracc">Enter account number:</label>
<input type="text" id="useracc" name="useracc">
</div>
<div>
<label for="userfile">Upload file:</label>
<input type="file" id="userfile" name="userfile">
</div>
<input type="submit" value="Submit!">
</form>
Get form获取表格
let myForm = document.getElementById('myForm');
let formData = new FormData(myForm);
To Json至 Json
var object = {};
formData.forEach(function(value, key){
object[key] = value;
});
var json = JSON.stringify(object);
https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData
How to convert FormData(HTML5 Object) to JSON 如何将 FormData(HTML5 对象)转换为 JSON
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.