2017-05-07 47 views
0
<input type="text" class="form-control" id="sokeord" onkeyup="Validate(this)" 
onvalidated="Ajax('GET', { view : '/search/all/', table : 'company', keyword : this.value } , Show, 'result')"> 

我在頁面上有上述元素。在javascript文本輸入中觸發事件

onkeyup事件按預期啓動並運行功能Validate。函數Validate(您可能猜到)會根據某些參數驗證輸入,如果驗證結果爲true,Validate會嘗試觸發輸入元素'sokeord'上的事件onvalidated,但onvalidated事件不會觸發。我試過$(element).trigger("onvalidated");

任何想法是什麼錯?

回答

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> 
+0

有點晚了我的一部分,但由於! – Kapalua