2014-10-07 46 views
0

在我的一个视图中,表单操作突然停止工作。当我点击提交页面保持不变。但我在同一个域上的其他表单工作正常。那么这种形式有什么问题? 我在codeigniter中这样做。那么背后的原因是什么呢?表单操作在codeigniter中不起作用

<form enctype="multipart/form-data" method="POST" action=<?php echo base_url()."index.php/controller_user/checker"; ?> > 
    <table width="100%" border="0" > 
    <tr> 
     <td> 
     <table> 
      <tr> 
      <td> 
       <div id="prj" style="display: none;">Enter Project:-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       <input type="text" name="prname" required/> 
       </div> 
       <div id="project">Enter Project:-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

       <select class="prj_name" name="prj_name" id="prj_name" onchange="process(this.value)" tabindex="11" required> 
        <option selected="selected">Select Project</option> 
        <?php 
        $sql = "SELECT * FROM project ORDER BY prj_id DESC"; 
        $query = $this->db->query($sql); 
        if ($query->num_rows() > 0){ 
         foreach ($query->result() as $row){ 
         $projectName= $row->prj_name; 
         $projectID=$row->prj_id; 
         echo '<option value="'.$projectID.'">'.$projectName.'</option>'; 
         }//end of for loop 
         echo '<option value="'.'0'.'">'.'New Project'.'</option>'; 
        } 
        ?> 
       </select> 
       </div> 
      </td> 
      </tr> 
      <tr> 
      <td> 
       <input type="submit" name="submit" value="Submit"/> 
      </td> 
      </tr> 
     </table> 
</form> 

这是我controller_user /检查

function checker() 
    { 

    $projectname=$_POST['prj_name']; 

     if($projectname=='0') 
     { 
      $config['upload_path'] = './uploads/'; 
      $config['allowed_types'] = '*'; 
      $config['max_size'] = '100'; 
      $config['max_width'] = '1024'; 
      $config['max_height'] = '768'; 
      $this->load->library('upload', $config); 
      $this->upload->do_upload('layout'); 
      $data = $this->upload->data(); 
      move_uploaded_file($_FILES["layout1"]["tmp_name"],"uploads/" . $_FILES["layout1"] 
    ["name"]); 
      $file="uploads/".$_FILES["layout1"]["name"]; 
      $this->model_user->add_user_case1($file); 

     } 
     else 
     { 
      $phase_name=$_POST['phase_name']; 
      //$layout=$_POST['layout']; 
      if($phase_name=='0') 
      { 
       $config['upload_path'] = './uploads/'; 
      $config['allowed_types'] = '*'; 
      $config['max_size'] = '100'; 
      $config['max_width'] = '1024'; 
      $config['max_height'] = '768'; 
      $this->load->library('upload', $config); 
      $this->upload->do_upload('layout'); 
      $data = $this->upload->data(); 
      move_uploaded_file($_FILES["layout"]["tmp_name"],"uploads/" . $_FILES["layout" 

    ]["name"]); 
      $file="uploads/".$_FILES["layout"]["name"]; 

    /*$sql=$this->db->query("INSERT INTO phase (layout) VALUES ('$file')");*/ 
       $this->model_user->add_user_case2($projectname,$file); 

      } 
      else 
      { 
       $plan_name=$_POST['plan_name']; 

       if($plan_name=='0') 
       { 



        $this->model_user->add_user_case3($phase_name); 

       } 
       else{ 
        $this->model_user->add_user_case4($plan_name); 

       } 
      } 

     } 

     echo '<script>alert("data registered successfully");</script>'; 
     redirect ('controller_search','refresh'); 

    } 
+0

您能显示'controller_user/checker'代码吗? – lighter 2014-10-07 10:23:11

+0

这不是我所有的表格代码。我只是复制粘贴其中的一部分来解释 – 2014-10-07 10:36:09

+0

@LLL看我上面的编辑 – 2014-10-07 10:39:53

回答

1

问题是在这里

<div id="prj" style="display: none;"> 

删除显示没有与尝试,它显示none里面

<input type="text" name="prname" required/> 

Ť他的文本字段它required因此它验证窗体,它不允许窗体提交

<form enctype="multipart/form-data" method="POST" action=<?php echo base_url()."index.php/controller_user/checker"; ?> > 
    <table width="100%" border="0" > 
    <tr> 
     <td> 
     <table> 
      <tr> 
      <td> 
       <div id="prj" >Enter Project:-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       <input type="text" name="prname" required/> 
       </div> 
       <div id="project">Enter Project:-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 

       <select class="prj_name" name="prj_name" id="prj_name" onchange="process(this.value)" tabindex="11" required> 
        <option selected="selected">Select Project</option> 
       <?php 
        $sql = "SELECT * FROM project ORDER BY prj_id DESC"; 
        $query = $this->db->query($sql); 
        if ($query->num_rows() > 0){ 
         foreach ($query->result() as $row){ 
         $projectName= $row->prj_name; 
         $projectID=$row->prj_id; 
         echo '<option value="'.$projectID.'">'.$projectName.'</option>'; 
         }//end of for loop 
         echo '<option value="'.'0'.'">'.'New Project'.'</option>'; 
        } 
        ?> 
       </select> 
       </div> 
      </td> 
      </tr> 
      <tr> 
      <td> 
       <input type="submit" name="submit" value="Submit"/> 
      </td> 
      </tr> 
     </table> 
</form> 
+0

我应该做什么? – 2014-10-07 11:01:47

+0

只是复制上面的表格,并检查它,它会工作 – 2014-10-07 11:06:34

+0

我删除了我的HTML代码中的所有必需的标记,然后开始工作... – 2014-10-07 11:23:31