如何将功能转换为MooTools?

时间:2013-10-03 05:51:34

标签: javascript forms submit mootools

我们有这个代码自动提交我们的表单,当用户搜索但我们不想再使用它作为它的脏,我们如何在MooTools中实现这一点?

谢谢

<script type="text/javascript">
function autosubmit() {
    setTimeout("document.search_form.submit()", 1000);
}
</script>

<input type='text' class='home_signin_field' id='search' name='user' size='30' onchange="autosubmit()">

我们有一个autosuggest脚本,在输入该字段时会显示结果列表,当单击结果时,它会自动将文本插入到字段中,这就是我们混乱方法的原因。自动填充脚本不会自动提交表单。

这是我们的AutoSuggest脚本:

<script type="text/javascript">
  <!--
    window.addEvent('domready', function(){
      var options = {
        script:"results.php?task=suggest_user&limit=3&",
      varname:"input",
      json:true,
      shownoresults:false,
      maxresults:5,
      multisuggest:false,
      callback: function (obj) {
      }
    };
    var as_json = new bsn.AutoSuggest('search', options);
  }
);
  //-->
</script>

我可以简单地将onchange="$('search_form').submit(); return false;"添加到输入字段,但重定向非常快,字段中的全文不会保留,因此提交后会捕获2个字符(打破结果)。

1 个答案:

答案 0 :(得分:1)

如果您的<input>位于html中的<form>内,您可以使用此功能:

document.id('search').addEvent('change',function(){   
    this.form.submit();
});

如果没有,您可以直接调用表单并使用.submit()

如果它仍然不起作用,可能是因为你的&#34; autosuggest脚本&#34;不会在输入字段change中触发#search事件。在这种情况下,您可以在设置#search输入的值后在自动摘录脚本中添加此内容:document.id('search').fireEvent('change');

如果有帮助,请检查此demo