2017-09-07 3 views
0

jqueryでvar data = new FormData($('form').get(0));を使用してデータを取得しています。 、ajaxを使用して 'data'オブジェクトをコントローラに送信する。フォームに隠れたフィールドが1つあります。隠しフィールドまたは隠しフィールドの値を 'data'オブジェクトに追加する方法コントローラのフォームコレクションデータに隠しフィールドの値を送信する方法は?

検査要素の非表示フィールドには、disabled="disabled"という属性があります。どのように追加する 微粒子のフィールド値は、jqueryを使用してデータを形成する?

+0

あなたはそれが好きでアクセスし、その後、それを隠しフィールドにIDを与える.. $(「ID」)修正することができるので、アルカは、同様のコードを入れMAM :) – codeSetter

+1

あなたは/あなたのかみそりを提供することができますaspxのマークアップ?隠しフィールドを無効にする理由は何ですか?その属性がAjaxを呼び出す前に削除されていれば、それがフォームに含まれていればそのフォームとともに送信されます:$( "#hidden-Input-id").removeAttr( 'disabled');それを削除したくない場合は、フォームと隠れた入力.serialize()の結果の連結を使用してサーバーに送信することができます。 –

+0

jqueryでその値を取得し、iをformDataに追加するには、 '$(" input-name = "inputname") ') 'のような名前を使用します。 –

答えて

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; 
    }); 
関連する問題