2011-08-30 27 views
0

我想知道如何通過序列化來傳遞動態輸入類型,並在我的ajax php頁面中通過json進行處理。正如你所看到的,它由一個for循環組成,它根據滑塊遞增每個輸入。我不能只是進程id =「BRV-brtrv-boxamount-因爲它這麼想的承認它。我將不勝感激,如果有人可以幫助我。謝謝jquery序列化動態輸入

for(var i = 0;i < $(this).val();i++) { 
    $("#BRV-brtrv-boxnumber").append('<div data-role="fieldcontain"><label for="BRV-brtrv-boxamount" class="ui-input-text">Enter box ' + (i + 1) + ' number:</label><input type="text" name="BRV-brtrv-boxamount-' + i + '-no" id="BRV-brtrv-boxamount-' + i + '-no" class="BRV-brtrv-boxamount ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-a" required="required" /></div>') 
    } 

+++編輯+++

$(function() { 

$("#BRV_brtrv").submit(function() { 

    var send = $(this).serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "boxrtrvajax.php", 
     cache: false, 
     data: send, 
     dataType: "json", 
     success: function (msg) { 

     $('#brtv-result').addClass("result_msg").html(msg.service); 

    }, 
    error:function (xhr, ajaxOptions, thrownError){ 
     jAlert('There was an exception thrown somewhere'); 
     alert(xhr.status); 
     alert(thrownError); 
    } 
    }); 
    return false; 
    }); 
}); 

回答

1
var url = 'my.ajax.php'; 
var params = new Object(); 

$('input, select').each(function() { 
    params[this.name] = this.value;  
}); 

$.post(url, params); 

,因爲你提供了一個完整爲例,這裏是完整的答案:

$(function() { 

$("#BRV_brtrv").submit(function() { 

    var send = $(this).serialize(); 

    $.getJSON("boxrtrvajax.php", send, function(msg) { 
     $('#brtv-result').addClass("result_msg").html(msg.service); 
    }) 
    .error(function (xhr, ajaxOptions, thrownError) { 
     jAlert('There was an exception thrown somewhere'); 
     alert(xhr.status); 
     alert(thrownError); 
    }); 

    return false; 
    }); 

}); 

但你的例子要工作了。注意:您可以使用$ .POS t()而不是$ .getJson()(甚至$ .get(),因爲$ .get和$ .post都能夠識別和解析json響應(如果有的話)。

+0

roselan謝謝。我對jquery相當陌生,如果你能告訴我在我的代碼中可以工作的地方,我會很感激。我已將代碼添加到我的問題中。謝謝 – bollo

+0

我的代碼中有一個「輕微」的錯誤(循環中的$ .get)。對不起(並編輯) – roselan

+0

謝謝。你能幫助重新標記的例子嗎?謝謝 – bollo