我的问题是如何从Name =“ phone”字段中获取所有值
JS
<script>
$(function(){
$(document.body).on('click', '.changeType' ,function(){
$(this).closest('.phone-input').find('.type-text').text($(this).text());
$(this).closest('.phone-input').find('.type-input').val($(this).data('type-value'));
});
$(document.body).on('click', '.btn-remove-phone' ,function(){
$(this).closest('.phone-input').remove();
});
$('.btn-add-phone').click(function(){
var index = $('.phone-input').length + 1;
$('.phone-list').append(''+
'<div class="input-group phone-input">'+
'<input type="number" name="phone" class="form-control" placeholder="(999) 999 9999" />'+
'<span class="input-group-btn">'+
'<button class="btn btn-danger btn-remove-phone" type="button"><span class="glyphicon glyphicon-remove"></span></button>'+
'</span>'+
'</div>'
);
});
});</script>
HTML
<div class="col-sm-10">
<div class="phone-list">
<div class="input-group phone-input">
<span class="input-group-btn">
</span>
<input type="number" name="phone" class="form-control" placeholder="(999) 999 9999" required=""/>
</div>
</div>
<button type="button" class="btn btn-success btn-sm btn-block btn-add-phone"><span class="glyphicon glyphicon-plus"></span> Add Phone</button>
</div>
控制器
@PostMapping("/applicant")
public String saveApplicantToDb(
@Valid @ModelAttribute Applicant applicant,
@RequestParam("phone") int[] phone
) {
if (phone!= null)
System.out.println(phone.length);
_applicantRepository.save(applicant);
return "applicant";
}
答案 0 :(得分:0)
您正在使用具有正确名称“ phone”的多个输入数字字段,这是正确的,这没有问题,它应该反映在输入@Param(“ phone”)中,但是您必须确保电话输入的类型必须为整数,例如您的占位符完全不正确(999)9999999。另外,新添加的电话也不是整数。因此,请确保它们是整数
答案 1 :(得分:0)
问题在于名称应与您的模型属性匹配 但是我从视图中期待数组的int []类型,但是它向我发送了String []类型的数组问题已解决,并且还要确保正确填充输入字段的JS代码[特别是name ='field_name']应该与属性匹配您的模型。在浏览器上检查它->检查并折叠div,然后查看输入字段名称