2017-01-06 6 views
0

私はasp.netコアレザーエンジンを使用しています。 TextAreaにテキストを入力してSubmitボタンを押すと、TexArea内のテキストをクリアしたいと思います。私はhtmlやc#を使ってこれを行う方法について何かを見つけることができませんでした。 はここTextAreaFor@ Html.TextAreaForをクリアする方法はありますか?

<h1>Add Your Comment</h1> 
       @using(Html.BeginForm("AddComment","Home")) 
       { 
        <p> 
         <label>Your Comment</label> 
         @Html.TextAreaFor(d=>d.comment) 
         @Html.ValidationMessageFor(d => d.comment) 
        </p> 

        <input type="submit" name="submit" value="Add my Comment!"/> 
       } 

のための私のコードはここで、それは私のデシベルに

+0

JavaScriptのみで、私は恐れがあります: 'document.getElementById(" formId ")。addEventListener(" submit "、function(){this.innerText =" ";})'などです。 – DontVoteMeDown

+0

提出後はどうしますか?コントローラーアクションでレスポンスを処理しますか?あなたは何を達成しようとしていますか? –

+0

あなたのポストを少し細かく、あるいはより多くのコードで展開してください。あなたのアプリケーション全体がこのスニペット以上のものだと思います。 –

答えて

-1

を語る私の工場への呼び出しでaddComment

[HttpPost] 
     [Route("addComment")] 
     public IActionResult AddComment(Messages model) 
     { 
      var user_id = HttpContext.Session.GetString("Id"); 
      if(user_id == null){ 
       return RedirectToAction("Index"); 
      } 
      model.Users_id = Convert.ToInt32(user_id.ToString()); 
      userFactory.addComment(model, user_id); 
      setTempData(); 

      ViewBag.Messages = userFactory.FindAll(); 
      model.comment =""; 
      return View("Login", model); 
     } 

userFactory仕事のための呼び出しのための私のコントローラですされますこの場合、あなたの投稿メソッド 'AddComment'がこのビューを再び返すようです。その場合、モデルの新しい参照を送信して古いデータをリセットすることができます。そんな感じ。

[HttpPost] 
public ActionResult AddComment(YourModel objModel) 
{ 
    // your code 
    return View("path of the view", new YourModel()); // don't send back objModel. It already contains data. 
} 

この場合、古いデータは消去されます。

特定のフィールドをクリアする場合は、その特定のプロパティーをobjModelに変更し、objModelをビューに送信します。

+0

間違っています。値は 'DefaultModelBinder'によって' ModelState'に既に追加されています –

+0

質問は私の答えの後に更新されます。その時、cshtmlだけが与えられました。私が今調べているように、Actionメソッドが追加されました。しかし、あなたは@ StephenMueckeの投票の機会を逃すことは決してありません – Anadi

+0

OPの編集はあなたの答えが間違っているという事実には何の違いもありません(したがって投票が遅い) –

0

すべての作業が完了したら、return View(...)ではなく、RedirectToActionでユーザーをリダイレクトするべきです。これにより、すべてのフォームフィールドが消去され、Post-redirect-get patternが使用されます。これにより、ユーザーはダブル送信を停止します。

ページ全体を投稿するときは、ほぼ同じパターンを適用する必要があります。

関連する問題