2011-09-13 26 views
0

我有3个输入,其中2我想在同一个数组(名称=“笔记['a']”和名称=“笔记['b']”)但当我使用jquerys的serializeArray()时,它将它们全部放在同一个“级别”。但我想用PHP的使用方法,这就是到贴笔记连载阵到数据库中已经工作了不属于阵列的一部分(即名称=“基本”串行数组将输入相同的名称

foreach($_POST['data'] as $var => $value) { 

    if(!strstr(strtolower($value['name']),'added')) $q1 .= "".$value['name']."='".$value['value']."',"; 

} 

echo $q = "UPDATE ".$_POST['table']." SET ".rtrim($q1,',')." WHERE ".$_POST['idField']."=".$_POST['id']." ";  


*the array $_POST['data'] is getting posted as;* 
[data] => Array 
     (
      [0] => Array 
       (
        [name] => notes[\'a\'] 
        [value] => [email protected] 
       ) 

      [1] => Array 
       (
        [name] => notes[\'b\'] 
        [value] => Daniel Crabbe 
       ) 

      [2] => Array 
       (
        [name] => test 
        [value] => Daniel Crabbe 
       ) 

     ) 

输入,但我想它应该沿着这些路线是什么?

[data] => Array 
     (
      [0] => Array{ 
       Array(
        [name] => notes[\'a\'] 
        [value] => [email protected] 
       ) 
       Array 
       (
        [name] => notes[\'b\'] 
        [value] => Daniel Crabbe 
       ) 
      ) 


      [1] => Array 
       (
        [name] => test 
        [value] => Daniel Crabbe 
       ) 

     ) 

我怎样才能jQuery的尊重输入数组的数组?任何帮助,欢迎...

更新 没有得到它这样,但希望水平上的一切[0 ]为方便...

Array 
(
    [0] => Array 
     (
      [name] => cm_email_to 
      [value] => [email protected] 
     ) 

    [1] => Array 
     (
      [name] => cm_name_to 
      [value] => Daniel Crabbe 
     ) 

    [2] => Array 
     (
      [name] => cm_moveToList 
      [value] => 
     ) 

) 

*inputs* 
<input id="cm_email_to" name="cm_email_to" value="[email protected]" class="toPostCM" /> 
<input id="cm_name_to" name="cm_name_to" value="Daniel Crabbe" class="toPostCM" /> 

*jquery* 
var dataCMSettings = $(".toPostCM").serializeArray(); 
+2

''更新:不要忘记 “$ _ POST [ '表'。” **转义**您在SQL查询中放入的任何数据,否则您将很容易受到sql注入 – arnaud576875

回答

0

正常 - 这不正是我需要的...

var params = {}; 

$('.toPostCM').each(function(index,value) { 
    params[value.name] = value.value; 
}); 

console.log(params); 

*gives me* 
Array 
(
    [cm_email_to] => [email protected] 
    [cm_name_to] => Daniel Crabbe 
    [cm_moveToList] => 
) 

感谢所有...

3

尝试采取数组indicies出输入名称:

<input name="notes[]" value="val1" /> 
<input name="notes[]" value="val2" /> 
+0

需要的名称和值。现在完全删除笔记[],但将每个字段添加为另一个对象,即[1],[2]等。 – v3nt

0

在HTML从您的数组索引的报价,所以array['a']变得array[a]

+0

谢谢 - 尝试过,但不断将每个字段作为一个单独的数组入口,而我需要[0] ... – v3nt

相关问题