3

私は次のフォームを持っています:

<form id="searchform_txtRepeatComplaint" name="searchform_txtRepeatComplaint">
   <input name="datasource" type="hidden" value="TDA">
   <input name="from" type="hidden" value="eci_data">
   <input name="where" type="hidden" value="">
   <input name="componentname" type="hidden" value="txtRepeatComplaint">
   <input name="staticstrings" type="hidden" value="">
   <input name="staticfields" type="hidden" value="">
   <input class="nostyle" name="returnfield" type="hidden" value="Complaintinformation_ID">
   <input class="nostyle" name="returnid" type="hidden" value="Complaintinformation_ID">
eCI ID:<input  class="nostyle" type="text" name="Complaintinformation_ID" id="Complaintinformation_ID" style="width:150px;"/> 
Complaint number: <input  class="nostyle" type="text" name="eci_number" id="eci_number" style="width:150px;"/>
</form>

これは、より大きなフォーム タグ内のフォームです。次のJSコードもあります。

var data_save = $("#searchform_txtRepeatComplaint").serializeArray();
alert(data_save);

アラートは空で表示されます。([オブジェクト] も表示されません。空のアラート ボックスです)。私は何を間違っていますか?

将来の読者のための解決策: このエラーを回避する方法を見つけました。FORM を DIV に変更し、次のように入力セレクターを追加しました。

var data_save = $("#searchform_txtRepeatComplaint input").serializeArray();

また、ドキュメント状態の serializeArray() は、フォーム内のフォームでは機能しません (これはいずれにしても違法な HTML です)。

4

1 に答える 1

2

セレクターに # がありませんでした

var data_save = $("#searchform_txtRepeatComplaint").serializeArray();

それ以外の

var data_save = $("searchform_txtRepeatComplaint").serializeArray();

また、コードをデバッグするには、alert() の代わりに console.log() を使用する必要があります。オブジェクト/配列をチェックするのにより便利です。

于 2012-10-14T19:47:12.040 に答える