8

我的站点中有一个快速反馈小部件,它只有一个文本框。当用户按下回车键时,将使用 ajax 自动发送反馈。但这不适用于 android、j2me 等移动设备。有没有适用于台式机和移动设备的替代方案?添加提交按钮对我来说是不可接受的。

4

4 回答 4

10

我刚刚检查了android,当你输入一些东西并按下“Go”(输入替代?)它会触发一个事件,键码实际上是13,所以和桌面键盘上的Enter一样。

编辑:

我建议调试代码并检查是否实际触发了提交,但关键代码可能并不总是 13?只是猜测..

编辑2:

在您的手机上测试此代码。当我按下“Go”时,输入值变为“sent!” 这证明它有效。

于 2013-05-01T11:35:30.747 回答
2

为什么不onblur与回车键结合使用?如果可以按回车键,它将按原样工作。如果做不到,他们只会留下输入,然后onblur就可以工作了。

于 2013-05-01T11:50:05.383 回答
0

我用一个表格添加了它onsubmit然后添加preventDefault。(@submit.prevent实际上在 Vue 中。)

真的不需要输入按钮,只需要表单和输入。

    form.field.m-sm.px-md(@submit.prevent="onSearch")
      .control.has-icons-right
        input.input.is-rounded(type="search" placeholder="Search" v-model="q")
        span.icon.is-right
          fa(icon="search")
于 2019-11-20T11:11:35.813 回答
0

我得到了一个确切的答案......你需要识别哪个是按下按钮的键码。通常是 13。要在移动设备中激活此键,您需要添加type="submit"到该按钮。下面给出的代码示例......

var input = document.getElementById("myInput");
input.addEventListener("keyup", function(event) {
  if (event.keyCode === 13) {
   event.preventDefault();
   document.getElementById("myBtn").click();
  }
});
<!DOCTYPE html>
<html>
<body>

<h3>Trigger Button Click on Enter</h3>
<p>Press the "Enter" key inside the input field to trigger the button.</p>

<input id="myInput" value="Some text..">
<button id="myBtn" type="submit" onclick="javascript:alert('Hello World!')">Button</button>


</body>
</html>

  1. w3schools上的示例
  2. 堆栈溢出示例

请记住,您需要添加type="submit"到该按钮...!否则在移动设备上将无法正常工作...

于 2021-01-27T16:54:46.327 回答