Jquery Serialize不仅仅适用于IE

时间:2011-12-01 05:32:04

标签: jquery

有了这个,我列出了我的代码,它在所有浏览器中工作正常,但在IE中却没有。我搜索了堆栈溢出的解决方案仍然无法修复。请有人帮帮我 $(this).serialize()在IE中返回空

$('Form#UserTripSearch').live('submit',function()
{
    $('#NavDetailHead12').html(HugeLoading);// for loader image
    alert($(this).serialize()); 

//需要返回=>类型= 1&安培; sortby =降序&安培;状态=付费和安培;名称=彼得

    var fullurl = $(this).attr('action')+'/'+$(this).serialize();
    fullurl1= fullurl.replace(/&/g, "/");
    fullurl2= fullurl1.replace(/=/g, ":");
    // fullurl2 => sitename.com/type:1/sortby:desc/status:paid/name:peter
    $.ajax({
            type: "GET",
            url: fullurl2,
            data: "ajax=true",
            success: function(data)
            {
                $('#NavDetailHead12').html(data);
            }
        });

    return false;
});

HTML CODE:

<form action="sitename/search" method="get" id="UserTripSearch">            
    <select id="UserType" name="type">
        <option value="1">User</option>
        <option value="2">Member</option>
        <option selected="selected" value="3">Non Member</option>
    </select> 
    .....
    <input type="text" id="UserName" placeholder="First name, Username" class="TextfiledCommon" name="name">            
        <div style=" float:left">               
            <span class="button">
                <span>
                    <input type="submit" value="Search" id="button" name="button">
                </span>
            </span>
        </div>
</form>

注意:我的HTML很好..

3 个答案:

答案 0 :(得分:2)

jquery有IE 10(标准/ Quirks模式)的错误,.serialize()和.serizlizeArray()无法序列化表单数据。

<div id="showRole">
    <form>
        <input name="roleName" type="text" />
        <input name="des" type="text" />
    </form>
</div>

修复程序为:

var data = $("#showRole input").serialize();

使用div的id引用表单并序列化数据。

IE只是更改了DOM树,而jquery无法获取元素。

答案 1 :(得分:1)

$('Form#UserTripSearch').live('submit',function()
{
    formdata =   $(this).serialize();
    alert( formdata); 
    $('#NavDetailHead12').html(HugeLoading);// for loader image
 ..........
 .............
 ................

尝试上面的代码它应该工作

您正在尝试更换dom后序列化。这应该是问题,因为目标数据不存在。试试这个:)

答案 2 :(得分:0)

请在Fiddle Link中查看答案 现在工作正常..