使用JavaScript验证时,按钮未在MVC表单上触发

时间:2018-07-31 11:42:37

标签: javascript asp.net-mvc

我在MVC应用程序上有2种形式。第一种形式是有效查找(验证和按钮触发)。验证有效的第二种形式,但输入按钮未触发。当我删除JavaScript时,一切正常,不管我哪里出错了。我的示例代码如下 查看

表格1

  @using (Html.BeginForm("Index", "Corporate", FormMethod.Post, new { enctype 
     = "multipart/form-data" , id= QuickMEssage}))
 {
    @Html.AntiForgeryToken()

  <div class="form-group">
   @Html.Label("Message Body", new { @class = "control-label col-md-2  required" })
  <div class="col-md-8">
    <textarea rows="6" cols="50" name="MessageBody" class="required" id="MessageBody" placeholder="Message Body Not more than 148 characters"></textarea>                                
  </div>
 </div>
   <input type="submit" value="Send Message" class="btn btn-success" name="quicksend" />
 }

表格2

@using (Html.BeginForm("BulkMessage", "Corporate", FormMethod.Post, new { 
 enctype = "multipart/form-data" , id= "BulkMessage" }))
 {
   @Html.AntiForgeryToken()
 <div class="form-group">
   @Html.Label("Message Body", new { @class = "control-label col-md-2  required" })
  <div class="col-md-8">
    <textarea rows="6" cols="50" name="MessageBody" class="required" id="MessageBody" placeholder="Message Body Not more than 148 characters"></textarea>                                
  </div>
 </div>

  <input type="submit" value="Shedule Message" class="btn btn-success" />
  }

控制器

// Controller for the first form
 [HttpPost]
 [ValidateAntiForgeryToken]
  public async Task<ActionResult> Index(string[] mobilenumber, int 
 ddlshedule, string date, int? sendmessage, string MessageBody)
  {
    return View();
  }

  // Controller for the second form. Validation is working fine

 [HttpPost]
 [ValidateAntiForgeryToken]
  public async Task<ActionResult> BulkMessage(int ddlshedule, string date, 
  string MessageBody2, HttpPostedFileBase attachmentcsv)
  {
    // This part of the code is not firing
    Return View();
  }

JavaScript

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Styles.Render("~/bundles/datatablecss")
@Scripts.Render("~/bundles/table")
  JavaScript for form 1
<script>

$(document).ready(function () {
$("#QuickMEssage").validate();    
 });

   JavaScript for form 2
<script>
      $(document).ready(function () {
          $("#BulkMessage").validate();
      });

    </script>
  }

0 个答案:

没有答案