Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter和javascript添加了动态输入和无线电字段_Javascript_Php_Jquery_Forms_Codeigniter - Fatal编程技术网

Codeigniter和javascript添加了动态输入和无线电字段

Codeigniter和javascript添加了动态输入和无线电字段,javascript,php,jquery,forms,codeigniter,Javascript,Php,Jquery,Forms,Codeigniter,嗨,伙计们,我在javascript和php方面非常新手。我正在制作一个页面,用户可以选择创建一个收音机或输入字段供其他人解决 一切正常,除了保存表单时,字段的顺序与我添加的顺序不同,因为我先循环“输入”字段,然后循环“无线电”字段。我知道这可能不是办法,请给我一个选择 任何帮助都将不胜感激,提前谢谢 看法 像这样的东西可能有用 在JavaScript中维护相同的count变量,以跟踪创建的输入 不要使用name=“fields[]”,而是使用name=“field”+count+”,这样您就可

嗨,伙计们,我在javascript和php方面非常新手。我正在制作一个页面,用户可以选择创建一个收音机或输入字段供其他人解决

一切正常,除了保存表单时,字段的顺序与我添加的顺序不同,因为我先循环“输入”字段,然后循环“无线电”字段。我知道这可能不是办法,请给我一个选择

任何帮助都将不胜感激,提前谢谢

看法


像这样的东西可能有用

在JavaScript中维护相同的
count
变量,以跟踪创建的输入

不要使用
name=“fields[]”
,而是使用
name=“field”+count+”
,这样您就可以在控制器中使用循环进行迭代

看法

通过新的
$inputs
数组循环调用add\u questions方法

ksort($inputs);
foreach($inputs as $array) {
    $id = $array[0];
    $value = $array[1];
    $tip = $array[2];
    $this->page_model->add_questions($id,$value,$tip);
}
$id=$this->input->post('id');
    if($_POST['fields']){
                    foreach ( $_POST['fields'] as $key=>$value ) {
                        $tip='input';
                        if($value!=''){
                            $this->page_model->add_questions($id,$value,$tip);
                        }

                    }
                }
                if($_POST['radios']){


                    foreach ( $_POST['radios'] as $key=>$value ) {
                        $tip='radio';
                        if($value!=''){
                            $this->page_model->add_questions($id,$value,$tip);
                        }

                }
            }
<script type="text/javascript">
var count = 0;
var a=0;
$(function(){
    $('span#add_input').click(function(){
        count += 1;
        $('#pit').append('<p><strong>Pitanje #' + count + '</strong>'+ '<input name="field_' + count + '"  type="text" /></p>' );
        a=count;
        document.write(a);
    });

    $('span#add_radio').click(function(){
        count += 1;
        $('#pit').append('<p><strong>DA/NE #' + count + '</strong>'+ '<input name="radio_' + count + '" type="text" /></p>' );
    });
});
</script>
$inputs = array();
$id=$this->input->post('id');
foreach($_POST as $key => $value) {
    $matches = array();
    if (preg_match('/(field|radio)_([\d]+)', $key, $matches)) {
        $tip = $matches[1];
        $count = $matches[2];
        $inputs[$count] = array($id, $value, $tip);
    }
}
ksort($inputs);
foreach($inputs as $array) {
    $id = $array[0];
    $value = $array[1];
    $tip = $array[2];
    $this->page_model->add_questions($id,$value,$tip);
}