Javascript 获取每个表单节的id和值

Javascript 获取每个表单节的id和值,javascript,jquery,asp.net,asp.net-mvc-4,Javascript,Jquery,Asp.net,Asp.net Mvc 4,我有下面的表单,试图获取id和值,并将数据放在json中传递给我的控制器。我看不出我遗漏了什么。这是我第一次进入网络开发领域 <div class="form-section"> <div class="section-header"> <span class="collapse-symbol"><i class="fas fa-angle-right"></i></span> <

我有下面的表单,试图获取id和值,并将数据放在json中传递给我的控制器。我看不出我遗漏了什么。这是我第一次进入网络开发领域

<div class="form-section">
    <div class="section-header">
        <span class="collapse-symbol"><i class="fas fa-angle-right"></i></span>
        <span class="section-title">
            Term
        </span>

    </div>
    <div class="content" id="quote-edit-form">

<div class="row-container">

    <div class="row-child">
        <label class="control-label" for="StartDate">StartDate Date</label>

        <input class="form-control text-box single-line" data-val="true" data-val-date="The field Start Date must be a date." id="Start-date" name="Terms.StartDate" type="datetime" value="" />

        <label class="control-label" for="Terms_Date">Terms Date</label>

        <input class="form-control text-box single-line" data-val="true" data-val-date="The field Terms Date must be a date." id="continuity-date" name="Terms.ContinuityDate" type="datetime" value="" />

        <label class="control-label" for="Terms Period">Extension Period</label>

        <input class="form-control text-box single-line" id="expiry-date" name="Terms.ExtensionPeriod" type="text" value="" />
    </div>

    <div class="row-child">
        <label class="control-label" for="Terms.Choice">Choice</label>

        <input class="form-control text-box single-line" id="expiry-date" name="Terms.Law" type="text" value="" />

        <label class="control-label" for="Terms_C">C</label>

        <input class="form-control text-box single-line" data-val="true" data-val-number="The field Commission must be a number." id="expiry-date" name="Terms.C" type="text" value="" />

        <label class="control-label" for="Terms_P">P</label>

        <input class="form-control text-box single-line" id="expiry-date" name="Terms.P" type="text" value="" />


    </div>
</div>

这里将使用id/值构建一个对象。注意:我添加了设置间隔,以便您可以键入并查看正在填充的对象

constbuilditems=()=>{
让items={};
document.querySelectorAll('input').forEach(元素=>{
items[element.id]=element.value;
});
退货项目;
};
//每5秒检查一次(仅用于演示工作)
setInterval(()=>console.log(buildItems()),5000

学期
起始日期
条款日期
延长期
选择
C
P
  • $('.form control文本框单行')
    应为
    $('.form control.text box.single line')

  • 要获取id,请使用
    .attr('id')

  • 要获取值,请使用
    $(this).val()
  • 要获取数据,请使用
    data('val')
    .attr('data-val')
  • items={}应该是
    项=[]
  • Id应该是唯一的。因此,不要对多个元素使用相同的id

var项目=[];
$('.form control.text box.single line')。每个(函数(){
var obj={
id:$(this.attr('id'),
dataVal:$(this.attr('data-val'),
值:$(this.val()
};
项目推送(obj);
});
控制台日志(项目)

 var items = {};
    $('.form-control text-box single-line').each(function () { 
        var obj = {
            id: $(this).find('.id').val(), 
            value: $(this).find('.value').val() 
        };
        o.items.push(obj); 
    });