-1

好的,所以基本上我正在尝试提交带有一些 javascript 数组的表单。

我希望这会采用将数据添加到隐藏字段然后自动发布的形式。

但是我遇到了一个奇怪的错误。

  1. 动态添加的字段不会隐藏,而是显示在屏幕上。

  2. 代码运行非常缓慢(在本地运行,所以我无法想象为什么)

  3. 它没有链接到 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();
});

编辑

好的,隐藏的部分是固定的。第二个字段出错。没有设置隐藏。服务器端代码: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');
 }
}
4

1 回答 1

1

您错误地访问了 $_POST 数组,在 PHP 中访问数组的正确方法是使用方括号[],如下所示:

$correct_arr = $_POST['correct'];

此外,如果您使用 CI,有一个输入类包装 $_POST 数组并且非常有用,可以这样使用:

$correct_arr = $this->input->post('correct');
于 2012-12-02T14:28:08.810 回答