好的,所以基本上我正在尝试提交带有一些javascript数组的表单。
我希望这会将表格添加到隐藏字段,然后自动发布。
但是我收到了一个奇怪的错误。
动态添加的字段不会隐藏并显示在屏幕上。
代码运行速度非常慢(在本地运行,所以我无法想象为什么)
它没有链接到PHP页面,而是说:与10.0.0.2的连接中断。(注意:PHP页面有效,否则可以访问)
在此代码中正确且答案是javascript数组
$("#questionForm").submit(function(e){
e.preventDefault();
var cform = $('<form></form>');
cform.attr("method", "post");
cform.attr("action"," <?php echo base_url()?>index.php/TestMaker/endTest");
var cfield = $('<input></input>');
cfield.attr("type", "hidden");
cfield.attr("name", "correct");
cfield.attr("value", correct);
cform.append(cfield);
cfield=$('<input></input>');
cfield.attr("type","hidden");
cfield.attr("name", "answers");
cfield.attr("value", answers);
cform.append(cfield);
$(document.body).append(cform);
cform.submit();
});
好的隐藏部分是固定的。第二个字段出错。没有把它隐藏起来。 服务器端代码: class TestMaker扩展了CI_Controller {
function __construct() {
parent::__construct();
}
function endTest(){
$correct_arr=$_POST('correct');
echo "hi";
//$question_ids=$_POST('question_ids');
//$question_types=$_POST('question_type');
}
}
答案 0 :(得分:1)
您正在错误地访问$ _POST数组,在PHP中访问数组的正确方法是使用方括号[]
,如下所示:
$correct_arr = $_POST['correct'];
另外,如果您正在使用CI,那么包含$ _POST数组的input class非常有用,可以这样使用:
$correct_arr = $this->input->post('correct');