在javascript中触发文本输入事件

时间:2017-05-07 00:32:49

标签: javascript jquery events

<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(正如您可能猜到的那样)根据某些参数验证输入,如果验证评估为trueValidate会尝试触发事件onvalidated输入元素'sokeord',但onvalidated事件不会触发。我试过了$(element).trigger("onvalidated");

知道出了什么问题吗?

1 个答案:

答案 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>