0

理解するためにこれを求めます。

オンラインで問題を確認してください (FireBug コンソールを使用) - http://jsfiddle.net/ihtus/3DuPW/

<div id='mydiv1'>
    this is with fieldset and $('#mydiv1 *').serialize()<br/>
    <fieldset><legend>aa</legend>
        <input type='text' name='myinp' value=''>
        <input id='save' type='button' value='serialize' onclick="console.log($('#mydiv1 *').serialize())">
    </fieldset>
    <br/>result: myinp=myval&myinp=myval
</div>
<br/><br/>

<div id='mydiv2'>
    this is without fieldset and $('#mydiv1 *').serialize()<br/>
    <input type='text' name='myinp' value=''>
    <input id='save' type='button' value='serialize' onclick="console.log($('#mydiv2 *').serialize())">
    <br/>result: myinp=myval
</div>
<br/><br/>

<div id='mydiv3'>
    this is with fieldset and $('#mydiv1 :input').serialize()<br/>
    <fieldset><legend>aa</legend>
        <input type='text' name='myinp' value=''>
        <input id='save' type='button' value='serialize' onclick="console.log($('#mydiv3 :input').serialize())">
    </fieldset>
    <br/>result: myinp=myval
</div>

質問: $('#mydiv1 *').serialize() と fieldset => があると結果が重複するのはなぜですか "myinp=myval&myinp=myval"

$('#mydiv1 *').serialize() と NO フィールドセットがある場合、重複はありません。

$('#mydiv1 :input').serialize() を使用する必要があることはわかっていますが、それを使用します...しかし、その特定のケースでデータが複製される理由に興味があります。

ありがとう。

4

0 に答える 0