表单验证在使用ajax调用加载表单后无法正常工作。我该如何解决这个问题?
$(document).ready(function() {
// $('#add_product').submit(function(e){
$(document).on('submit', '#add_product', function(e) {
e.preventDefault();
$.post('script/test.php', {
naam: $('#naam').val()
})
.done(function(response) {
bootbox.alert(response);
parent.fadeOut('slow');
})
.fail(function() {
bootbox.alert('error');
})
});
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="add_product" method="post">
<div class="modal-body">
<div class="header add_product">
<div class="form-group">
<label class="control-label">Productnaam*</label>
<input maxlength="250" id="naam" type="text" required="required" class="form-control" name="naam" />
</div>
</div>
<hr/>
<div class="modal-footer ">
<button class="btn btn-success completeBtn btn-lg" name="submit" type="submit" style="width: 100%;">
<span class="glyphicon glyphicon-ok-sign"></span> Toevoegen
</button>
</div>
</form>
&#13;
答案 0 :(得分:0)
如api.jquery所述,
.submit()
方法是第一个版本中.on( "submit", handler )
的快捷方式,第三个版本中是.trigger( "submit" )
。
因此两个构造的行为应该相同。
此外,您将submit
活动从#add_product
委托给性能低下的document
,因为它现在必须侦听文档中的所有提交事件。
也许是因为事件委托,你的代码中可能有一个e.stopPropagation
,这会阻止事件自然冒泡到文档中,因此不会执行处理程序。
如果可能的话,将范围限制在一定程度上比听取文档要好得多。
尝试以下方法:
$(document).ready(function(){
$('#add_product').on('submit', function(e) {
e.preventDefault();
$.post('script/test.php',
{naam: $('#naam').val()})
.done(function(response){
bootbox.alert(response);
parent.fadeOut('slow');
})
.fail(function(){
bootbox.alert('error');
})
});
});
答案 1 :(得分:0)
尝试添加&#39;返回false&#39;在你的处理程序中:
def on_mousewheel(event):
shift = (event.state & 0x1) != 0
scroll = -1 if event.delta > 0 else 1
if shift:
canvas.xview_scroll(scroll, "units")
else:
canvas.yview_scroll(scroll, "units")
答案 2 :(得分:0)
尝试以下方法:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
filterSelectedCategoryList = selectedCategoryList.filter { titles in
return (titles?["healerName"].stringValue.lowercased().contains(searchText.lowercased()))!
}
tableView.reloadData()
}
$(document).ready(function() {
$('#add_product').on('submit', function(e) {
e.preventDefault();
$.post('script/test.php', { naam: $('#naam').val() })
.done(function(response) {
bootbox.alert(response);
parent.fadeOut('slow');
})
.fail(function() {
bootbox.alert('error');
})
});
});