0

フォームの値を取得する必要があるという要件があります。私はIE 7とIE 8で値をうまく取得できます。以下はフォームです

ここに画像の説明を入力

serializearray() を使用して、IE 8 でフォームの値をフェッチしています。値を取得できました。下の画像を参照してください。

ここに画像の説明を入力

しかし、IE 9 では、同じコード行が値をフェッチしていません。以下の画像を参照してください。

ここに画像の説明を入力

誰か助けてください。私は立ち往生しています。さらに、多くのコードが既に記述されているため、この時点でこの serializearray() 関数を変更することはできません。これを変更する必要がある場合。総作業量はトスになります

生成されたhtml:

<form action="/SDLCMClassic/questionaire/questionairelist?projectArtifactId=53678&amp;ppmFlag=N&amp;level=Project" method="post">    <div class="body-container clearfix">
       <div class="information-body clearfix" id="tblHeader">
        <div class="information-header">
            Assesment
        </div> 
        <div class="form-align-div">
           <label>PPM ID </label>
        </div> 
        <div class="form-align-div-large">
        182944
        </div> 
        <div class="form-align-div">
           <label>App Portfolio ID </label>
        </div> 
        <div class="form-align-div-large">
        116368
        </div> 
        <div class="form-align-div">
           <label>PPM Project Name </label>
        </div> 
        <div class="form-align-div-large">
        ITSVC FY11 SOIT ITSM HPSM uCMDB Integration
        </div>
        <div class="form-align-div">
           <label>APP CIName </label>
        </div> 
        <div class="form-align-div-large">
        HPSM IT
        </div>
       </div>
</div> 
<div class="clear-both" id="QuestionaireDiv">
<div class="parent_divqn"  style="background-color:#fff;color:#000;">
    <table id="tblSdlc" width="100%">
        <tr>
            <td width="2%">
                1
            </td>
            <td width="50%">
                List of authentication methods
            </td>
            <td width="48%">
                <input type="hidden" value='DECISION' name='15' title='ListBox' />
                    <input type="hidden" id='hdnselectright' name='15' title='DECISION' />
                    <table width="45%">
                        <tr>
                            <td>
                                <label class="lable">
                                    Available</label>
                                <select id="sourcelist-15" multiple="multiple" data-mandatory='Y' data-datatype='string' data-qindex='1' class="saral-select" style="width: 269px;">
                                                <option value='1'>Active Directory</option>            
                                                <option value='2'>Enterprise Directory</option>            
                                                <option value='3'>DigitalBadge</option>            
                                                <option value='4'>SiteMinder</option>            
                                                <option value='5'>HP Passport</option>            
                                                <option value='6'>Cybersafe (SAP)</option>            
                                                <option value='7'>OATH</option>            
                                                <option value='8'>Non-Leveraged Authentication Infrastructure</option>            
                                                <option value='9'>Pending</option>            
                                </select>
                            </td>
                            <td>
                                <table>
                                    <tr>
                                        <td>
                                            <img id="MoveRight-15" src="/Content/Images/arrowRight.png" alt="Move Right"  onclick='javascript:togglelistdata(this,&#39;15&#39;,&#39;1&#39;,&#39;/SDLCMClassic/Questionaire/GetQuestionaireList&#39;)' />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td>
                                            <img id="MoveLeft-15" src="/Content/Images/arrowLeft.png" alt="Move Left" onclick='javascript:togglelistdata(this,&#39;15&#39;,&#39;1&#39;,&#39;/SDLCMClassic/Questionaire/GetQuestionaireList&#39;)'/>
                                        </td>
                                    </tr>
                                </table>
                            </td>
                            <td>
                                <label class="lable">
                                    Selected</label>
                                <select id="destlist-15" multiple="multiple" class="saral-select" data-mandatory='Y' data-datatype='string' data-qindex='1' name="rightlist-DECISION" style="width: 269px;">

                                </select>
                            </td>
                        </tr>
                    </table>
            </td>
        </tr>
    </table>
</div> 
    <div class="clear-both" id="container">
    </div>
</div>
<input type="hidden" id="hdnAnsweredArray" />
<input type="hidden" id="hdninputcountArray" />
<input type="hidden" id="hdninput" />
<input type="hidden" id="hdnlistboxid" />

4

1 に答える 1

3

.serializeArray() メソッドは、制御を成功させるための標準 W3C ルールを使用して、含める要素を決定します。特に、要素を無効にすることはできず、name 属性を含める必要があります。

上記の HTML から、同じ名前 (15) を持つ 2 つの非表示フィールドと、名前 (rightlist-DECISION) を持つ 1 つの選択要素があります。「成功した」コントロールと見なされるものは他にないため、serializeArray メソッドは期待どおりに機能しません。

この jQuery を使用してテストします。

var objects = ​$("form").serializeArray();
for(var i = 0; i < objects.length; i++) {
  $("#container").append(objects[i].name);
}
于 2012-08-25T14:42:09.047 に答える