2015-09-06 112 views
0

所以,我有輸入值的數組:無法通過Jquery.post發送陣列

<input type="text" placeholder="write your Question" id="question[]" value="" /> 

,我通過這個代碼發送此輸入:

$.post("function.php",{Question:$("#question").serialize()},function(data){ 
     $("#construct").append(data); 
     alert('done'); 
    }); 

但是當我嘗試在我的PHP中使用這些值,我有一些錯誤。

PHP(function.php):

$Question=htmlentities($_POST['Question'],ENT_QUOTES,"UTF-8"); 
//line 13 
$Quiz->InsertQuestion($Q_id,$Question[0]); 
//line 14 
$Quiz->InsertQuestion($Q_id,$Question[1]); 

錯誤說:

注意:未初始化字符串偏移量:在電子商務0:\程序文件\程序\ XAMPP \ htdocs中\ QMS \上行管理\ function.php 13

注意:未初始化的字符串偏移量:1 E:\ progrram文件\程序\ XAMPP \ htdocs中\ QMS \管理員\上線function.php 14

在此先感謝。

+0

'var_dump($ _ POST ['Question']);'btw'question []'和'question'是**不同的** id。 –

+0

@u_mulder我使用了'var_dump',並且得到了:'string(0)「」'.btw我想當我想發送一個數組時,我應該使用'question []'! – NavidIvanian

+0

你能發佈你所有的html嗎? – aldrin27

回答

1

正如我所說的,id="question[]"id="question"是不同的ID。 如果你想發送的項目作爲一個數組,你應該使用name屬性與[]

<input type="text" placeholder="write your Question" name="question[]" value="" /> 
<input type="text" placeholder="write your Question" name="question[]" value="" /> 

的jQuery:

// select all fields which names start with "question" 
{Question:$("[name^='question']").serialize()} 

甚至class

<input type="text" placeholder="write your Question" value="" class="question" /> 
<input type="text" placeholder="write your Question" value="" class="question" /> 

的jQuery:

{Question:$(".question").serialize()} 
+0

謝謝@ u_mulder.You是正確的 – NavidIvanian

+0

它似乎當我使用'.serialize()'我無法獲得完整的值 – NavidIvanian

0

將輸入的id從「question []」更改爲「question」。

+0

如果他想要傳遞一系列問題,他爲什麼要改變這個問題? – aldrin27

+0

因爲它是一個DOM內容的ID。 – Ahmadbaba46

+0

@ Ahmadbaba46我做到了,但仍然失敗:-( – NavidIvanian