2015-09-06 64 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