簡體   English   中英

如何僅重置texbox,而不重置整個頁面?

[英]How to reset just texbox, not the entire page?

我正在嘗試創建一個發布/評論系統。 它可以滿足我的大部分需求。 現在,我只想重置文本框,而不是整個頁面。 骨架代碼由CodePen預設。 (有關代碼示例的更多說明)

HTML:

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

JS:

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

這樣,帖子將保留,但文本框將重置。 如果我放棄/注釋掉第二個,則return false; 整個頁面重置。

所有你需要做的就是調用resetText()write_below()

 function resetText() { document.getElementById('txtPost').value=""; } function write_below(form){ var input = document.forms.write.post.value; document.getElementById('display').innerHTML += "<p>" + Math.floor(Math.random()*20) + ": " + input + "</p>" + "<br/>"; resetText(); return false; } 
 <form id="frmPost" name="write"> <div class="textbox"> <input class="postwriter" name="post" type="text" placeholder="What's on your mind?" id="txtPost"> <button id="btnPost" onclick= "return write_below(this);" value="submit" >Post</button> </div> </form> <div class="posts" id="postDisplay"> <p class="para"><span id='display'></span></p> </div> 

單擊提交按鈕時,表單的默認操作是發出請求。 如果在<form action=""></form>未指定目的地,則默認位置為"/" (當前頁面)。 這將重新加載頁面。

當您說return false您將向調用方(窗體)返回一個false值。 這會拒絕正確提交表單,從而阻止重新加載。

保留return false; 在那里實現您的結果。

為什么要編寫冗長的JavaScript或JQuery

您可以將清除按鈕的類型設置為“重置”。 它將清除您的所有表單字段,而無需重新加載網頁。

例如。

 <html>
        <body>
               <form>
                        <input type="text" name="demo">
                        <button type="reset">Clear</button>
                         <button type="submit">Submit</button>
                 </form>
         </body>
  </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM