0

ある種の投稿システムを作成しようとしていますが、ほとんどの場合機能しますが、投稿ボタンをクリックしても入力フィールドがリセットされません。私はさまざまな方法を試しましたが、どれもうまくいきませんでした.

HTML:

<form id="post" name="write">
    <div class="textbox">
        <input class="postwriter" name="post" type="text" placeholder="What's on your mind?" id="myPost">
        <button id="Post" onclick= "return write_below(this); return formReset();" value="submit" >Post</button>
    </div>
</form>
<div class="posts" id="postDisplay">
    <p class="para"><span id='display'></span></p>
</div>

JavaScript:

function write_below(form) {
    var input = document.forms.write.post.value;
    document.getElementById('display').innerHTML += "<p>" + Math.floor(Math.random()*20) + ": " + input + "</p>" + "<br/>";
    return false;
}
function formReset(){
    document.getElementById("post").reset();
}
4

1 に答える 1

3

あなたonclickはこのように見えます:

onclick="return write_below(this); return formReset();"

つまり、次のようになります。

return write_below(this);
return formReset();

最初のリターンの後、スクリプトは終了します。したがって、最初のリターンを削除します。コードは次のようになります。

onclick="write_below(this); formReset(); return false;"

そうは言っても、return falseここは意味がないので、それを取り除きます。

function write_below(form) {
  var input = document.forms.write.post.value;
  document.getElementById('display').innerHTML += "<p>" + Math.floor(Math.random()*20) + ": " + input + "</p>" + "<br/>";
}

注:すべての ID が似ているため、開発者やコードを見た人を怒らせる可能性があります。それはあなたの意図ですか?

于 2016-12-09T13:29:37.933 に答える