回车输入提交

Input submit with enter

有没有一种方法可以通过 javascript 获取与 enter 一起提交的输入?我找不到解决办法。对不起,我有点像新手。感谢您的帮助!

<div class="ergonomierechner">
    <p style="text-align: center; font-size: 150%; font-weight: bold; margin-top: 5px;">Individueller Ergonomie-Rechner</p>

    <p>Deine K&ouml;rpergr&ouml;&szlig;e in cm:
        <input type="text" id="eing1" placeholder=" z. B. 175">
        <input type="button" value="Berechnen" onClick="ausgeben()">
        <br>
    </p>

    <table style="width:100%">
      <tr>
        <th>Tischh&ouml;he im Sitzen:</th>
        <th>Armlehnenh&ouml;he:</th>
        <th>Stuhlh&ouml;he:</th>
        <th>Tischh&ouml;he im Stehen:</th>
      </tr>
      <tr style="text-align: center;">
        <td><p id="tischsitzen"></p></td>
        <td><p id="armlehne"></p></td>
        <td><p id="stuhl"></p></td>
        <td><p id="tischstehen"></p></td>
      </tr>
    </table> 

</div>

<script type="text/javascript">

$("#eing1").keyup(function(event) {
    if (event.keyCode == 13) {
      $("ausgeben()").click();
    }
});

function ausgeben(){

    var koerpergroesse = parseInt(document.getElementById("eing1").value)

    tischsitzen = koerpergroesse/2.43;
    tischsitzen = Math.round(tischsitzen);
    armlehne = koerpergroesse/6.75;
    armlehne = Math.round(armlehne);
    stuhl = koerpergroesse/3.72;
    stuhl = Math.round(stuhl);
    tischstehen = koerpergroesse/1.52;
    tischstehen = Math.round(tischstehen);

    document.getElementById("tischsitzen").innerHTML=tischsitzen + " cm";
    document.getElementById("armlehne").innerHTML=armlehne + " cm";
    document.getElementById("stuhl").innerHTML=stuhl + " cm";
    document.getElementById("tischstehen").innerHTML=tischstehen + " cm";

}

</script>

有没有一种方法可以通过 javascript 获取与 enter 一起提交的输入?我找不到解决办法。对不起,我有点像新手。感谢您的帮助!

你应该查看字符代码(键代码):)

输入 = 13 :)

类似于:

Javascript

function submitForm(){
    document.formName.submit();
    document.formName.method='post';
}

document.onkeydown=function(){
    if(window.event.keyCode=='13'){
        submitForm();
    }
}

使用 jQuery,这是实现此目的的众多方法之一:

$(".my_input_box").keyup(function(event) {
    if (event.keyCode == 13) {
      $(".search_button").click();
    }
});

如果你用 form 标签包裹你的 input,你将能够在不使用 JavaScript.

的情况下实现你想要的效果
<div class="ergonomierechner">
    <p>Individueller Ergonomie-Rechner</p>

    <p>Deine K&ouml;rpergr&ouml;&szlig;e in cm:</p>

    <form>
        <input type="text" id="eing1" placeholder=" z. B. 175">
        <input type="button" value="Berechnen" onClick="ausgeben()">
    </form>

    <table style="width:100%">
        <tr>
            <th>Tischh&ouml;he im Sitzen:</th>
            <th>Armlehnenh&ouml;he:</th>
            <th>Stuhlh&ouml;he:</th>
            <th>Tischh&ouml;he im Stehen:</th>
        </tr>
        <tr style="text-align: center;">
            <td><p id="tischsitzen"></p></td>
            <td><p id="armlehne"></p></td>
            <td><p id="stuhl"></p></td>
            <td><p id="tischstehen"></p></td>
        </tr>
    </table>
</div>

此外,在您的函数 ausgeben 中,您定义了几个变量而不使用 var,因此,您污染了全局命名空间。这样做:

function ausgeben() {
    var koerpergroesse = parseInt(document.getElementById("eing1").value)

    var tischsitzen = koerpergroesse/2.43; // Initialize with `var` keyword
    tischsitzen = Math.round(tischsitzen); // Reassign without `var` keyword

    var armlehne = koerpergroesse/6.75;
    armlehne = Math.round(armlehne);

    var stuhl = koerpergroesse/3.72;
    stuhl = Math.round(stuhl);

    var tischstehen = koerpergroesse/1.52;
    tischstehen = Math.round(tischstehen);

    document.getElementById("tischsitzen").innerHTML=tischsitzen + " cm";
    document.getElementById("armlehne").innerHTML=armlehne + " cm";
    document.getElementById("stuhl").innerHTML=stuhl + " cm";
    document.getElementById("tischstehen").innerHTML=tischstehen + " cm";
}

这样你的变量 koerpergroessetischsitzenarmlehnestuhltischstehen 就在你的函数范围内声明了。

这里有一些关于范围的有用链接:

https://developer.mozilla.org/en-US/docs/Glossary/Scope

https://en.wikipedia.org/wiki/Scope_(computer_science)

https://scotch.io/tutorials/understanding-scope-in-javascript