2012-09-21 42 views
0

我有这种形式,我提交使用ajax和jQuery或但是它说.. 好吧,我有这个多重复选框,从中我得到一些值。在JavaScript中的多个复选框值

现在我在这里做一个错误,因为复选框的值没有被张贴在数据库.. 下面是HTML/PHP的一部分:

while($row = mysql_fetch_assoc($result)) { 
echo '<input type="checkbox" value="'.$row['regione'].'" id="regioni_gestite_ag" name="regioni_gestite_ag[]">' . $row['regione'] . '<br>'; 
} 

这是我如何使用JavaScript得到它:

var js_regioni_gestite_ag = $('input:checkbox[name=regioni_gestite_ag]:checked').val(); 

这是我的形式提交后清洁:

$("#regioni_gestite_ag").prop("checked", false); 

最后,查询我使用它张贴在数据库:

$postRegioni_gestite_ag = filter_var($_POST["postRegioni_gestite_ag"], FILTER_SANITIZE_STRING); 
$selected_regioni = ""; 
foreach ($postRegioni_gestite_ag as $postRegioni_gestite_ag) { 
$selected_regioni .= $postRegioni_gestite_ag . "/ "; 
} 
$selected_regioni = substr($selected_regioni, 0, -2); 

谢谢...

+2

首先,你应该考虑有复选框的唯一ID。 – VisioN

+0

您是否尝试过显示(例如,通过Javascript中的alert或通过php中的echo)您获得的值?你怎么实际上将它们插入到数据库中? – codeling

+0

我正在做一个foreach函数插入他们一个接一个,它的工作原理,如果我只是使用计划的PHP,但与AJAX那里,这使得它很难.. – Kledi

回答

0

您的复选框的数组的名称为$_POST['regioni_gestite_ag'],但在你的代码中使用$_POST['postRegioni_gestite_ag']这确实不存在。
尝试用下面这行代码来代替:

$postRegioni_gestite_ag = filter_var($_POST["regioni_gestite_ag"], FILTER_SANITIZE_STRING); 

建议:

  • 使用print_r($_POST)显示您的表单提交
  • 记住,所有选中的复选框将不会提交什么,也不会出现在$ _ POST。这是正常的行为,它不是一个错误
+0

是的,但这是代码的工作原理,我的意思是,错误必须当我们检索值,在JS .. – Kledi

+0

由于您的PHP代码没有使用正确的名称复选框,它将永远无法保存数据库中的值。修复您的PHP代码,尝试一下,并告诉我们它是否更好。 – Jocelyn

+0

嗯,我试过,因为我说这不是这个,因为我给复选框名称postRegioni_gestite_ag,这就是为什么.. – Kledi