2017-03-02 146 views
0

有没有办法让输入通过javascript进入提交?我找不到解决办法。对不起,我有点像一个新手。谢谢你的帮助!输入提交输入

<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进入提交?我找不到解决办法。对不起,我有点像一个新手。谢谢你的帮助!

+0

提交到哪里呢?因为我真的不知道你要提交的内容。如果你在'form'中有一个'button type =“submit”',那么它可以用一个输入提交而不需要额外的javascript –

+0

第二个输入是带有函数ausgeben()的按钮。 \t 非常感谢。我将改为。现在它没有任何额外的js代码,但它只出现几个ms并消失。如果我按下按钮,它通常会显示为 –

+0

只是一个注释,''和'

回答

1

如果您用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

+0

非常感谢。我还将更改为。现在它没有任何额外的js代码,但它只出现几个ms并消失。如果我按下按钮,它会正常显示 –

0

您chould结帐字符代码(密钥代码):)

输入是= 13 :)

东西similair到:

的Javascript

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

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

我试图实现你的解决方案,但......。没有工作。我编辑过我的帖子。你可以看看吗? –

0

使用jQuery,这里是许多方法之一,以实现这一点:

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

http://needsmorejquery.com/ –