7

私はjavascriptが初めてで、あらゆる単純なことで何らかの問題が発生しますが、これは解決できないようです。私はグーグルで検索しましたが、似たようなものは何もありません。

テキストボックスにデータを入力して変数に保存した後、変数を段落に出力します。問題は、印刷した出力が1秒以内に消えることです。コードは正常に見えますが、それは何ですか? getch(); を置かないと c のように見えます。前もって感謝します。

<form>Unesite broj koji ce se ispisat kasnije.<br>
<input type="text" id="userInput">
<input type="submit" name="unos" value="Unesi i ispisi" onclick="unesi()"><br><br>

</form> 
    <br><br>
<p>Unjeli ste <b id="ispis"></b></p>
<script>
function unesi(){
var userInput = document.getElementById('userInput').value;
document.getElementById('ispis').innerHTML = userInput;
}   

</script>
4

3 に答える 3

9

この<form>タグは属性を指定していないactionため、送信ボタンをクリックすると、ブラウザーは現在の URL にフォームを送信します。これは、ページが更新されたように見えます。

ユーザーが送信をクリックしたときに関数を実行しunesi、HTML フォームが送信されないようにする場合は、少し変更する必要があります。

<input type="submit" name="unos" value="Unesi i ispisi"
      onclick="unesi(); return false;">

return falseフォーム自体が送信されないようにします。

于 2012-12-07T14:37:07.337 に答える
3

フォームがページを送信して更新するためです。フォーム リクエストをキャンセルします。

<input type="submit" name="unos" value="Unesi i ispisi" onclick="return unesi()">

と関数

function unesi(){
    var userInput = document.getElementById('userInput').value;
    document.getElementById('ispis').innerHTML = userInput;
    return false;
}   

より良いオプションは、フォームレベルで行うことです

<form action="#" method="get" onsubmit="return unesi()">
于 2012-12-07T14:36:41.247 に答える
2

Instead of cancelling the form submitting, another option is to change

<input type="submit" name="unos" value="Unesi i ispisi" onclick="unesi()">

to

<input type="button" name="unos" value="Unesi i ispisi" onclick="unesi()">

This will make it so the form does not try to submit at all when the button is pressed.

于 2012-12-07T14:40:25.610 に答える