2010-06-16 177 views
2

我有这样的代码复制 - 粘贴在JavaScript

<input name="mpan[]" value="" maxlength="2" size="2"> 
<input name="mpan[]" value="" maxlength="2" size="3"> 
<input name="mpan[]" value="" maxlength="2" size="3"> 
<input name="mpan[]" value="" maxlength="2" size="12"> 

我要做的就是我提供了例如0380112129021大关键。当我在该键上按Ctrl + C并选择任意一个框并按下Ctrl + V时,该数字会自动粘贴到不同的框中,例如:第一个输入框获取03,接下来获取801,接下来获取112,最后获得粘贴一个129021 .how我从javascript中完成了这项工作

+0

那么,你的问题是什么? – 2010-06-16 18:45:54

+0

@ rlb.usa:我想如何在JS中实现这一点。 – BalusC 2010-06-16 18:46:52

+0

它需要按Ctrl + C和Ctrl + V吗? – 2010-06-16 18:47:40

回答

0

简单。在每个输入框中,添加一个onkeyup处理程序并检查输入值。

小小的澄清,你试图做一些像串行/键输入框,对吧?

+0

如果用户使用右键单击>粘贴粘贴内容怎么办? – 2010-06-16 18:55:01

+0

通过使用onmouseup?他/他可以为不同的事件使用相同的功能。 – Christian 2010-06-16 19:06:01

+0

还有从编辑菜单粘贴,以考虑,或通过拖动。 – 2010-06-16 23:11:46

0

好吧,如果你不知道你应该通读一些东西。

我可以推荐阅读有关

  • 的JavaScript - 事件。
  • 特别是具有了的onkeyup /事件的onkeydown
  • stringparsing(子)

后,你将看到答案发光屏幕;-)

一个小提示上:如果要存储按键到一个变量,它应该在动作被触发后清除。你应该检查你有什么按键缓存并清除非法输入。

1

如果你正在寻找捕捉粘贴事件(而不是字面按Ctrl +V),该onpaste事件可能是你,并通过根据this answer大多数浏览器都支持。

您可以使用substring()分割输入值。

+0

他也将不得不从粘贴中获取数据 - 换句话说,剪贴板的内容。据我所知,这似乎并没有跨浏览器标准化。 – Pointy 2010-06-16 19:09:48