我正在使用codeigniter。尽管在元素检查时为单选按钮提供了一个值,但验证错误始终显示“需要主席字段”。所以我猜问题是看不到单选按钮输入字段。
这是我的观点:
<form method="" action="" id="vote_results" >
<?php if (isset($vchairman_records)) : foreach ($vchairman_records as $v_chairman_row) : ?>
<input type="radio" id="chairman" name="chairman" value="<?php echo $chairman_row->registration_number ?>" />
<?php endforeach; ?>
<?php else : ?>
<p class="">No records were returned</p>
<?php endif; ?>
<button type="submit" class="btn btn-success btn-lg alert-info sb_button" id="vote">
<span id="sending_btn" style="display: none">Sending....</span>
<span class="" id="profesional-btn">Submit</span>
</button>
</form>
## My Controller ##
$this->form_validation->set_rules('chairman', 'Chairman', 'required|xss_clean');
if (!$this->form_validation->run() == FALSE) {
$data = array(
'success' => FALSE,
'errors' => validation_errors()
);
echo json_encode($dat
a);
Ajax
function loader_doc(v) {
if (v === 'on') {
$('#sending_btn').show();
$('#profesional-btn').hide();
} else {
$('#sending_btn').hide();
$('#profesional-btn').show();
}
}
$(document).ready(function () {
$('form#vote_results').submit(function (e) {
e.preventDefault();
loader_doc('on');
var vote_data = new FormData();
vote_data.append('chairman', $('#chairman').val());
$.ajax({
url: '<?php echo base_url('StartPageController/get_results'); ?>',
method: 'post',
contentType: false,
processData: false,
cache: false,
dataType: 'json',
data: vote_data,
success: function (data) {
if (!data.success) {
$('.n').modal('show');
$('.m').append(data.errors);
loader_doc('off');
} else {
alert(data.msg);
loader_doc('off');
}
loader_doc('off');
},
error: function () {
}
});
});
});
最佳答案
您的 echo $chairman_row->registration_number 中缺少分号
关于javascript - 我的单选按钮没有从 foreach 循环中获取值,并且表单验证返回 'field required',即使它已被选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601679/