【问题标题】:Javascript simulate pressing enter in input boxJavascript模拟在输入框中按回车
【发布时间】:2012-10-03 16:18:15
【问题描述】:

我有一个看似简单的解决方案,但在网上尝试了大量不同的解决方案后,我似乎没有任何用处。

我有一个搜索字段,每次您在输入字段中键入或按 Enter 时都会搜索数据表,但是在加载页面时我为搜索框分配了一个值之后,它不会进行搜索,直到用户按下在框中输入或键入/删除一个字母。我只是想找到一个模拟按回车的解决方案,但它似乎不起作用。

这是我的代码:

<script type="text/javascript">
       window.onload = (function() {
           document.getElementById('search').value = " <?php echo $search;?>";

       });
</script>

这显然将值分配给我的 php 变量设置的值,该值可以正常工作,文本在页面加载时加载到框中,它只是不会像我说的那样执行搜索,除非用户在框中按下回车键或删除/在输入框中添加一个字母。

搜索框代码是

<input type="text" id="search" aria-controls="DataTables_Table_0" class="text">

更新:这是我找到的关于我正在使用的文档http://datatables.net/ref

【问题讨论】:

  • 在文本&lt;input&gt; 中按enter 通常会在其&lt;form&gt; 上触发submit 事件。

标签: php javascript ajax enter


【解决方案1】:

试试这个

document.getElementById("formId").submit();

【讨论】:

  • 由于某种原因,这些都不起作用。我发现这个文档准确地显示了我正在使用的内容,也许这将明确我应该使用什么datatables.net/ref
  • 为我工作。你为什么不让我们成为一个 JsFiddle,这样我们才能更好地提供帮助
【解决方案2】:

您可以在javascript中调用onchange()事件:

<script type="text/javascript">
   window.onload = (function() {
       document.getElementById('search').value = " <?php echo $search;?>";
       document.getElementById('search').onchange();
   });
</script>

这个答案还有另一种选择:https://stackoverflow.com/a/3629423/890726

【讨论】:

    【解决方案3】:

    我假设你有一个表单,在文本框中输入会触发表单的提交。在 javascript 中,您可以像这样手动执行此操作:

    <form id='myform" action="/foo">
    
    document.forms["myform"].submit();
    

    【讨论】:

      【解决方案4】:
             <input type="text" id="fname" onblur="businessFun()">
      

      请尝试这个并在 js buinessFun() 中执行搜索操作 如果你使用 ajax 传递当前时间作为参数

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-12
        • 1970-01-01
        • 2020-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多