2013-08-22 60 views
0

我有一個表單,例如。動態添加新字段後提交表單

HTML

<form id="data"> 

    <input id="hostname" type="text" name="hostname" value="" /> 

</form> 

,我有一些JavaScript,增加了更多的領域爲沒有。我有朋友。

注:我將避免添加一些fb api腳本來節省我的寫作時間。如果您希望我重新編輯並添加評論,請添加評論。

JAVASCRIPT

<script> 
//load fb api 
//authenticate with permissions {scope: email,friends_birthday,users_birthday} 

FB.api('/me/friends?fields=id,name,birthday',function (friendsdata) { 

    for (var i = 0; i < friendsdata.data.length; i++) { 


     $('#hostname').after('<input type="text" name="hostid[]" value="'+friendsdata.data[i].id+'" />'); 

    } 

    $.ajax({ 
     type: "GET", 
     url: "php/send.php", 
     data: $("#data").serializeArray(), 
     success: function(send) { 

     console.log(send); 

     } 
    }); 

    })  




</script> 

PHP

$hostid = $_GET['hostid']; 
print_r($hostid); // returns nothing if input field is generated using jquery after 

上述作品完美的罰款。它檢索數據並插入到字段中。 但問題是,當我試圖通過ajax使用序列化數組發佈這個數據到一個php文件。

由於動態生成輸入字段,我無法接收php中的ids數組。

如果我只是手動添加ID字段,它工作正常。

任何建議或解決方案?

編輯

Ajax的保存方法通過阿倫的要求。

Regards, Dalton。

+1

顯示你的ajax保存方法 –

+0

@ArunPJohny嗨Arun,我用ajax保存方法更新了這個問題 –

+0

請添加代碼,在這裏你發出這個ajax請求。 –

回答

1

相反的 -

data: $("#data").serializeArray(), 

使用這個 -

data: { hostid: $("#data").serializeArray()}, 
+0

嘿,這個爲我工作。但現在我得到一個新的錯誤,它說請求URL太大:jQuery的 –

+0

stackoverflow.com/questions/8542061/...可以幫助你。 PS。如果有幫助,不要忘記接受答案。乾杯! –

1

而不是使用

data: $("#data").serializeArray() 

你可以得到的數據,如

// which will return a array. 
var result = $("input[name=hostid]").val(); 

// you can then serialize that array and pass to php 

data:result.serializeArray()enter code here 
相關問題