2012-01-31 19 views
12

私はフォームをシリアライズしていましたが、驚くほどフォームをシリアライズしませんでした。ここでは、コードは次のとおりです。jQueryシリアル化が機能しない

<div id="content"> 
</div> 
<form id= "myform"> 
    <input type="text" id="inp"value="mytext"> 
    <input type="button" id="btn" value="serialize"/> 
</form> 

ここで私が働いているjQueryのコードされています

$("form").submit(function(e){ 
    e.preventDefault(); 
    var v= $(this).serialize(); 
    console.log(v); 
}); 

は、ここでは、あなたのinputフィールド上name属性を必要とするfiddle

答えて

47

です。それ以外の場合は、jQueryの.serialize()によって無視されます。

注:

はここに引用from the docsで唯一の "成功のコントロールは、" 文字列にシリアライズされます。ボタンを使用してフォームが送信されなかったため、送信ボタンの値はシリアル化されません。 フォーム要素の値をシリアル化された文字列に含めるには、要素の名前属性がである必要があります。チェックボックスとラジオボタン(「ラジオ」または「チェックボックス」タイプの入力)の値は、チェックされている場合にのみ含まれます。ファイル選択要素からのデータはシリアル化されません。ここでは、name属性を使用してフィドルだ

http://jsfiddle.net/6fgUg/28/

+1

ああ!私はただの新鮮な目を必要としました。 – Tassadaque

2

あなたは、たとえば、入力されたHTML要素に名前を与えなければなりません:

<form id="myform"> 
    <input type="text" id="inp" name="inp" value="mytext"> 
    <input type="button" id="btn" name="btn" value="serialize"/> 
</form> 
関連する問題