我的问题是如何从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";
}
2 回答
您正在使用具有相同名称“phone”的多个输入数字字段,这是正确的,没有问题,它应该反映在输入@Param(“phone”)中,但您必须确保电话输入必须是例如,类型为整数的占位符是完全错误的(999)999 9999.新添加的手机也不是整数 . 所以确保它们是整数
问题是名称应该与您的模型属性匹配但是我期待从视图中的int []类型的数组,但它发送我的String []类型的数组问题已解决,并确保您的JS代码正确填充您的输入字段[特别是名称='field_name']应与模型的属性匹配 . 在浏览器上检查它 - >检查并折叠div并查看输入字段名称