返信してくれてありがとう。解決策が見つかりました:FORMの代わりにDIVを使用し、その中のすべてのINPUTをシリアル化しました。
現在のフィドルコード:http: //jsfiddle.net/MyBZC/
フォーム:
<form id="sfn" name="sfn">
<input name="datasource" type="hidden" value="TDA">
<input name="staticfields" type="hidden" value="">
<input name="returnfield" type="hidden" value="Complaintinformation_ID">
<input name="returnid" type="hidden" value="Complaintinformation_ID">
eCI ID:<input class="nostyle" type="text" name="id" id="Complaintinformation_ID" style="width:150px;"/>
Complaint number: <input class="nostyle" type="text" name="ecin" id="ecin" style="width:150px;"/>
</form>
JQuery:
var ds= $("#sfn").serializeArray();
alert(ds);
dsに警告すると、空の警告ボックスが表示されます。このhtmlフォームが実際には別のフォームタグ内にあるため、serializeArray()が機能していない可能性がありますか?
編集されていない実際の(より長い)html出力は次のとおりです。
<form id="searchform_srcSupplier" name="searchform_srcSupplier">
<input name="datasource" type="hidden" value="DEACSQL10_BPCS_DATA">
<input name="from" type="hidden" value="BPCS_AVM">
<input name="where" type="hidden" value="Partner_ID='122'">
<input name="componentname" type="hidden" value="srcSupplier">
<input name="staticstrings" type="hidden" value="Supplier address">
<input name="staticfields" type="hidden" value="LTRIM(RTRIM(VNDAD1))+'<br>'+LTRIM(RTRIM(VNDAD2))+'<br>'+LTRIM(RTRIM(VCITY))+'<br>'+LTRIM(RTRIM(VPOST))+' '+LTRIM(RTRIM(VSTATE))">
<input class="nostyle" name="returnfield" type="hidden" value="VNDNAM">
<input class="nostyle" name="returnid" type="hidden" value="VENDOR_id">
<table ><tr>
<td>
Supplier ID:
</td>
<td>
<input class="nostyle" type="text" name="VENDOR" id="VENDOR" style="width:150px;"/>
</td>
<td>
Supplier name:
</td>
<td>
<input class="nostyle" type="text" name="VNDNAM" id="VNDNAM" style="width:150px;"/>
</td>
</tr><tr>
</tr>
</table>
</form>
(私はすでにフォームからテーブルを削除しようとしました)
現在のフィドルコード:http: //jsfiddle.net/MyBZC/