【问题标题】:Input text and press enter with javascript输入文本并使用 javascript 按回车键
【发布时间】:2013-08-02 20:34:22
【问题描述】:

我有这个字段

 <div class="select2-container select2-container-multi" id="s2id_multiValueSelect" style="width: 300px">    \
     <ul class="select2-choices"> 
        <li class="select2-search-field">   
        </li>
     </ul>
 </div>

我尝试过将getElementsByClassNameinnerHTML.submit() 一起使用,但这不起作用。 它告诉我该对象没有提交方法

有什么建议吗?

编辑:http://ivaynberg.github.io/select2/
选择2

【问题讨论】:

  • 你想做什么,你的 js-code 是什么?
  • 你在它周围放了一个
    吗?
  • 提交表单而不是输入字段
  • 呃,它实际上并不是一个表单,更像是一个字段
  • 不,你不能提交没有表单的输入字段......浏览器应该如何知道将数据发送到哪里?您可以通过 JavaScript 读取输入的值并发送 ajax 请求或创建手动请求,不过 ...

标签: javascript html forms


【解决方案1】:

您只能submit() 一个表单。所以即使只是一个文本输入框,还是需要用&lt;form&gt;标签包裹起来,通过form id提交。

<form action="path/to/handler" method="POST" id="my-form">
  <div class="select2-container select2-container-multi" id="s2id_multiValueSelect" style="width: 350px">
    <ul class="select2-choices"> 
      <li class="select2-search-field">   
        <input type="text" autocomplete="off" class="select2-input select2-default" style="width: 300px;">
     </li>
   </ul>
  </div>
</form>

【讨论】:

  • 只是一个提示:对于“输入时提交”,某些浏览器必须有一个提交按钮(现在不记得是哪个了:-P)。不过,该按钮可能会被隐藏。
  • 在这种情况下,我没有使用表单,我使用的是 select2,我提供了链接,不确定它是否有不同的工作方式
  • 正如我所说,除了form 之外,您不能提交任何内容...这是您的问题,因此无需投票。
  • 我没有对任何人投反对票,但就像我上面所说的,我已经通过在文本框中输入并按 Enter 成功发送了我的查询。现在我只是想从可视化中访问它
  • 是的,select2 只是复杂的样式......答案是正确的。
【解决方案2】:
$(document).keypress(function(e) {
    if(e.which == 13) {
        $("form").submit();
    }
});

也将字段放入表单中。

【讨论】:

    猜你喜欢
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-26
    • 2021-10-26
    • 2011-04-10
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    相关资源
    最近更新 更多