我嘗試過使用PHP打印的HTML元素進行驗證,但它不起作用,但當我將相同的HTML放在沒有PHP的情況下,它確實有效。爲什麼jQuery不通過PHP在印刷元素上工作?
下面是在其中的實際數據將通過AJAX被打印的HTML:
<div class="row" id="live_data">
// here will all radio buttons and images echo via ajax
</div>
這裏是AJAX:
function fetch_all() {
var form_name = 'package_form2';
$.post('ajax/ajax_form_get_all_packages.php',{form_name:form_name}, function(result) {
console.log(result);
$('#live_data').html(result);
});
} fetch_all();
這裏是它獲取通過Ajax呼應的實際數據:
$output .= '
<div class="col-md-4">
<label for="'.$id.'">
<img src="uploads/'.$img.'" class="img-responsive">
</label>
<div>
<div class="radio text-center">
<input type="radio" id="'.$id.'" value="'.$code.'" name="optradio" class="optradio">
</div>
</div>
</div>
';
以下是FormValidation的代碼:
$(document).ready(function() {
$('#menu1_info').formValidation({
message: 'This value is not valid',
icon: {
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
fields: {
optradio: {
validators: {
notEmpty: {
message: 'Please choose one of the Package'
}
}
}
}
})
.on('success.form.fv', function(e) {
// Prevent form submission
e.preventDefault();
// Get the form instance
var $form = $(e.target);
// Get the BootstrapValidator instance
var fv = $form.data('formValidator');
$form.bootstrapValidator('disableSubmitButtons', false);
});
});
你好感謝你這麼多,你的解決方案是正確的,我編輯我的問題,你能告訴我什麼原因BootstrapValidator不起作用的元素,由PHP打印 –
問題是,你試圖選擇一個不存在的元素(沒有類'optradio'的元素存在)。 – kapantzak
BootstrapValidator通過名稱獲取元素,所以它應該只是通過名稱元素工作,但它不在名稱上工作:( –