Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按enter键时显示动态文本框_Javascript_Html - Fatal编程技术网

Javascript 按enter键时显示动态文本框

Javascript 按enter键时显示动态文本框,javascript,html,Javascript,Html,有人能帮我写代码吗?每次我在文本框中输入时,它都会创建多个文本框,但我想创建一个程序,每次我按enter键时,它都会创建另一个文本框 这是我的密码: <script language="javascript"> function changeIt() { var i = 1; my_div.innerHTML = my_div.innerHTML +"<br><input type='text' name='mytext'+ i>&

有人能帮我写代码吗?每次我在文本框中输入时,它都会创建多个文本框,但我想创建一个程序,每次我按enter键时,它都会创建另一个文本框

这是我的密码:

<script language="javascript">
    function changeIt() {
     var i = 1;
     my_div.innerHTML = my_div.innerHTML +"<br><input type='text' name='mytext'+ i><br/>"
    }
</script>
<body>
    <form name="form" action="post" method="">
      <input type="text" name=t1 onkeydown="changeIt()">
      <div id="my_div"></div>
    </form>
</body>

函数changeIt(){
var i=1;
my_div.innerHTML=my_div.innerHTML+“

” }
您当前的JS函数在每次按下按钮时都会执行,因为您正在使用事件
onkeydown
,该事件将捕获任何按下的键

这样做:

<script>
var changed = function(e){
    if (!e) e = window.event;
    var keyCode = e.keyCode || e.which;
    if (keyCode == '13'){

        /* YOUR EXECUTION CODE */

    }
}
</script>

<form name="form" action="post" method="">
  <input type="text" name="t1">
  <div id="my_div"></div>
</form>

变量变化=函数(e){
如果(!e)e=window.event;
var keyCode=e.keyCode | | e.which;
如果(键代码=='13'){
/*你的执行代码*/
}
}

您当前的JS函数在每次按下按钮时都会执行,因为您正在使用事件
onkeydown
,该事件将捕获任何按下的键

这样做:

<script>
var changed = function(e){
    if (!e) e = window.event;
    var keyCode = e.keyCode || e.which;
    if (keyCode == '13'){

        /* YOUR EXECUTION CODE */

    }
}
</script>

<form name="form" action="post" method="">
  <input type="text" name="t1">
  <div id="my_div"></div>
</form>

变量变化=函数(e){
如果(!e)e=window.event;
var keyCode=e.keyCode | | e.which;
如果(键代码=='13'){
/*你的执行代码*/
}
}
请参见此 您在代码中所做的是在每次按键时创建一个文本字段。要仅在按下enter键时创建一个文本字段,您必须检查按下按钮的键代码

因此,请对JS进行如下更改

function changeIt(event) {
  var key = event.which || event.keyCode;
  if (key == '13') {
    var i = 1;
    my_div.innerHTML = my_div.innerHTML + "<br><input type='text' name='mytext'+ i><br/>"
  }
}
函数更改(事件){
var key=event.which | | event.keyCode;
如果(键=='13'){
var i=1;
my_div.innerHTML=my_div.innerHTML+“

” } }
请确保您的
也按如下方式更换

<input type="text" name=t1 onkeydown="changeIt(event)">

请阅读..中有关键码的更多信息。。此外,如果您想查找任何按钮的键码,请选中此项 您在代码中所做的是在每次按键时创建一个文本字段。要仅在按下enter键时创建一个文本字段,您必须检查按下按钮的键代码

因此,请对JS进行如下更改

function changeIt(event) {
  var key = event.which || event.keyCode;
  if (key == '13') {
    var i = 1;
    my_div.innerHTML = my_div.innerHTML + "<br><input type='text' name='mytext'+ i><br/>"
  }
}
函数更改(事件){
var key=event.which | | event.keyCode;
如果(键=='13'){
var i=1;
my_div.innerHTML=my_div.innerHTML+“

” } }
请确保您的
也按如下方式更换

<input type="text" name=t1 onkeydown="changeIt(event)">


请阅读..中有关键码的更多信息。。此外,如果您想查找任何按钮的按键代码,请在每次按下任何按键时检查您正在创建的新按键。相反,您应该检查是否使用
e.key
e.code
按下了Enter键(请注意
e.which
e.keyCode
都被禁用)

也可以考虑使用,而不是<代码>否则,每次添加新的

,所有现有的都将被重新创建并丢失其值

const input=document.getElementById('input');
const inputs=document.getElementById('inputs');
input.addEventListener('keydown',({key})=>{
如果(键!=“回车”)返回;
const newInput=document.createElement('input');
newInput.type='text';
newInput.name=`mytext${inputs.children.length}`;
inputs.appendChild(newInput);
});
输入{
显示:块;
}


每次按下任何
键时,您都会创建一个新的
。相反,您应该检查是否使用
e.key
e.code
按下了Enter键(请注意
e.which
e.keyCode
都被禁用)

也可以考虑使用,而不是<代码>否则,每次添加新的

,所有现有的都将被重新创建并丢失其值

const input=document.getElementById('input');
const inputs=document.getElementById('inputs');
input.addEventListener('keydown',({key})=>{
如果(键!=“回车”)返回;
const newInput=document.createElement('input');
newInput.type='text';
newInput.name=`mytext${inputs.children.length}`;
inputs.appendChild(newInput);
});
输入{
显示:块;
}


您可以删除输入中的
onkeydown=“changeIt()”
您可以删除输入中的
onkeydown=“changeIt()”
谢谢您的帮助,我的程序现在运行良好。
e.which
e.keyCode
都是
number
,而不是
string
,因此,比较它们可能更好,因为
key==13
。无论如何,这两种方法也都不推荐
e.key
e.code
应改为使用,这也使代码更容易理解。请记住,一些旧浏览器使用了一些非标准代码,因此,例如,左侧通常是
'LeftArrow'
,右侧是
'RightArrow'
,但在IE上它只是
'left'
'right'
。另外,看一看。我将很快添加有关此类跨浏览器不兼容的信息!谢谢你的帮助,我的程序现在运行得很好。
e.which
e.keyCode
都是
number
,而不是
string
,所以最好将它们作为
key==13
进行比较。无论如何,这两种方法也都不推荐
e.key
e.code
应改为使用,这也使代码更容易理解。请记住,一些旧浏览器使用了一些非标准代码,因此,例如,左侧通常是
'LeftArrow'
,右侧是
'RightArrow'
,但在IE上它只是
'left'
'right'
。另外,看一看。我将很快添加有关此类跨浏览器不兼容的信息!