<input type="text" class="form-control" id="sokeord" onkeyup="Validate(this)"
onvalidated="Ajax( 'GET', { view : '/search/all/', table : 'company', keyword : this.value } , Show, 'result')">
我的页面上有上述元素。
onkeyup
事件按预期触发并运行函数Validate
。函数Validate
(正如您可能猜到的那样)根据某些参数验证输入,如果验证评估为true
,Validate
会尝试触发事件onvalidated
输入元素'sokeord',但onvalidated
事件不会触发。我试过了$(element).trigger("onvalidated");
知道出了什么问题吗?
答案 0 :(得分:0)
onvalidated
不是有效的事件,因此如果您希望执行该事件,则需要在其他地方调用ajax
。
一种方法是将ajax
调用添加到Validate
函数中,这样当验证发生(并且成功)时,它将调用ajax
。
所以你可以这样做:
<input type="text" class="form-control" id="sokeord" onkeyup="Validate(this)">
<script>
$(document).ready(function() {
function Validate(element) {
// Your validation code
// Set a variable to true/false (e.g `var valid = ...`)
if(valid) {
$.ajax({
// your ajax call
});
}
});
</script>