如何将隐藏字段值发送到控制器formcollection数据?

时间:2017-09-07 09:14:22

标签: jquery asp.net model-view-controller

我在jquery中使用var data = new FormData($('form').get(0));获取数据。 并使用ajax将“data”对象发送到控制器。我在表单中有一个隐藏字段。如何将隐藏字段或隐藏字段值附加到“数据”对象?

在检查元素隐藏字段上有disabled="disabled"属性。如何追加 使用jquery形成数据的微粒隐藏字段值?

1 个答案:

答案 0 :(得分:0)

您可以使用 $("#HiddenFieldID").val() 获取隐藏字段值。

但是如果隐藏字段放在表单标记内。表单数据将包含该隐藏字段值。

以下代码演示了如何从表单数据中获取值。

 $("#FrmSample").submit( function(eventObj) {
      eventObj.preventDefault();
  $("#result").html(new FormData(this));
    var inputs =  $("#FrmSample").serializeArray();
    $.each(inputs, function (i, inputj) {
       console.log(inputj.value);
    });
    
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<body>

<form id="FrmSample" action="#">
  First name:<br>
  <input type="text" name="firstname" value="Mickey">
  <br>
  Last name:<br>
  <input type="text" name="lastname" value="Mouse">
  <br><br>
  <input type="hidden" id="HiddenControl" name="HiddenControl"  value="SampleValue">
  <input type="submit" value="Submit">
</form> 
  
</body>
</html>

或者,如果您想附加特定表单字段值,可以使用下面的代码。

$("#FrmSample").submit( function(eventObj) {
      $('<input />').attr('type', 'hidden')
          .attr('name', "something")
          .attr('value', "something")
          .appendTo('#form');
      return true;
  });