jQuery序列化表單為JSON對象

nf456 9年前發布 | 22K 次閱讀 JavaScript jQuery JSON

    <form id="myform">  
        <table>  
            <tr>  
                <td>姓名:</td>  
                <td> <input type="text" name="name" /> </td>  
            </tr>  
            <tr>  
                <td>性別:</td>  
                <td>  
                    <input type="radio" name="sex" value="1"> 男  
                    <input type="radio" name="sex" value="0"> 女  
                </td>  
            </tr>  
            <tr>  
                <td>年齡:</td>  
                <td>  
                    <select name="age">  
                        <option value="20">20</option>  
                        <option value="21">21</option>  
                        <option value="22">22</option>  
                    </select>  
                </td>  
            </tr>  
            <tr>  
                <td>愛好</td>  
                <td>  
                    <input type="checkbox" value="basketball" name="hobby">籃球  
                    <input type="checkbox" value="volleyball" name="hobby">排球  
                    <input type="checkbox" value="football" name="hobby">足球  
                    <input type="checkbox" value="earth" name="hobby">地球  
                </td>  
            </tr>  
            <tr>  
                <td colspan="2">  
                    <input type="button" id="ajaxBtn" value="提交" />  
                </td>  
            </tr>  
        </table>  
    </form>  

    <script type="text/javascript">

    $(function() {  
        $("#ajaxBtn").click(function() {  
                var params = $("#myform").serializeObject(); //將表單序列化為JSON對象   
                console.info(params);  
            })  
    })  

    $.fn.serializeObject = function() {  
        var o = {};  
        var a = this.serializeArray();  
        $.each(a, function() {  
            if (o[this.name]) {  
                if (!o[this.name].push) {  
                    o[this.name] = [ o[this.name] ];  
                }  
                o[this.name].push(this.value || '');  
            } else {  
                o[this.name] = this.value || '';  
            }  
        });  
        return o;  
    }  
</script>  </pre> 


 本文由用戶 nf456 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!