2

我们有这段代码可以自动提交我们的表单,当用户搜索但我们不想再使用它时,我们如何在 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 脚本:

<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 个字符(破坏结果)。

4

1 回答 1

1

如果您在 html 中的<input>a 内<form>,则可以使用:

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

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

如果它仍然不起作用,可能是因为您的“自动建议脚本”没有change在输入字段中触发事件#search#search在这种情况下,您可以在设置输入值后将其添加到您的自动建议脚本中document.id('search').fireEvent('change');

如果有帮助,请查看此演示。

于 2013-10-03T06:59:35.213 回答