2017-03-02 182 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/ –