jQuery提交javascript数组的形式

时间:2012-12-02 12:07:34

标签: php jquery codeigniter

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

我希望这会将表格添加到隐藏字段,然后自动发布。

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

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

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

  3. 它没有链接到PHP页面,而是说:与10.0.0.2的连接中断。(注意:PHP页面有效,否则可以访问)

  4. 在此代码中正确且答案是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');
     }
    }
    

1 个答案:

答案 0 :(得分:1)

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

$correct_arr = $_POST['correct'];

另外,如果您正在使用CI,那么包含$ _POST数组的input class非常有用,可以这样使用:

$correct_arr = $this->input->post('correct');