2014-07-15 90 views
0

的財產我都在JavaScript的條件,說如果文本框爲空,將提醒並返回false,但它不工作,而不是將其提交這裏是我的看法笨:試圖讓非對象

frm_otherequips2.php 

<form action="edit_delete_others2" method="POST" id='frm_otherequips2' name="frm_otherequips2"> 
    <fieldset id="edit_other"> 
     <legend>Inventory Details</legend> 
     <table> 
      <tr> 
       <?php $otherequips = $other->Equipment; 
         $otherdesc = $other->ItemDescription; 
         $otherID = $other->ID; 
         $otherserialnum = $other->SerialNumber; 
       ?> 
       <td>Equipment</td> 
       <td><input type="text" id="txt_editotherequip" name="txt_editotherequip" value="<?php echo $otherequips ?>"/></td> 
       <td>Item Description</td> 
       <td><input type="text" id="txt_editotherdesc" name="txt_editotherdesc" value="<?php echo $otherdesc ?>"/></td> 
       <td style="visibility: hidden;"><input type="text" id="txt_editotherID" name="txt_editotherID" value="<?php echo $otherID ?>"/></td> 
      </tr> 
      <tr> 
       <td>Serial Number</td> 
       <td><input type="text" id="txt_editotherserialnum" name="txt_editotherserialnum" value="<?php echo $otherserialnum ?>"/></td> 
      </tr> 
      <tr> 
       <td><button class="btn_editother" id="btn_editother" name="btn_editother" type="submit" value="Edit" onclick="validate_edit_otherequip();">Edit</button></td> 
      </tr> 
     </table> 
    </fieldset> 
</form> 

,這裏是我的javascript:

<script> 

    function validate_edit_otherequip(){ 
     if(document.getElementById('txt_editotherequip').value === ""){ 
      alert('Please Input Equipment!'); 
      return false; 
     } 
     else if(document.getElementById('txt_editotherdesc').value === ""){ 
      alert('Please Input Item Description'); 
      return false; 
     } 
     else if(document.getElementById('txt_editotherserialnum').value === ""){ 
      alert('Please Input Serial Number'); 
      return false; 
     } 
     else{ 
      var y; 
      if(confirm("Are you sure you want to save updated data?") === true){ 
       var y = document.forms['frm_otherequips2'].submit(); 
      } 
      else if(confirm("Are you sure you want to save updated data?") === false){ 
       return false; 
      } 
     } 
    } 
</script> 

我所做的是我把控制器返回false,這裏是我的控制器:

public function edit_delete_others2($id){ 
     $data_other['other'] = $this->inventory_model->other_search($id); 
     $this->load->view('homeview'); 
     $this->load->view('frm_otherequips2', $data_other); 
     $this->load->view('footer_view'); 


     if(!empty($_POST['btn_editother'])){ 
      if($_POST['txt_editotherequip'] == "") { 
       return false; 
      } 
      else if($_POST['txt_editotherdesc'] == "") { 
       return false; 
      } 
      else if($_POST['txt_editotherserialnum'] == ""){ 
       return false; 
      } 
      else{ 
       $this->inventory_model->update_others($this->input->post()); 
       redirect('inventorysys_controller/view_others', 'refresh'); 
      } 

    } 
} 

但每次我運行它,我離開例如空白文本框「txt_editotherequip」是空白它張貼警告,然後這個錯誤發生:

**時遇到一個PHP錯誤

嚴重性:通知

消息:試圖讓非對象

文件名的屬性:意見/ frm_otherequips2.php

行號:10

一個PHP錯誤遇到

嚴重性:注意

消息:試圖讓非對象的屬性

文件名:觀點/ frm_otherequips2.php

行號:11

遇到PHP錯誤

嚴重性:注意

消息:試圖讓非對象的屬性

文件名:觀點/ frm_otherequips2.php

行號:遇到12

一個PHP錯誤

試圖獲得非物件的財產

消息:試圖獲得非物件的財產

文件名:觀點/ frm_otherequips2.php

行號:13 **

請你幫我在這一個,我一直堅持這個好幾天。預先感謝您的幫助!

回答

0

確保發生onclick事件,因爲您表示表單提交,而在您的代碼中應該彈出確認框或任何情況下的提醒。

function validate_edit_otherequip(){ 
    alert('works!'); 
    .... 
} 

檢查javascript錯誤。

+0

我用這個「echo(isset($ other-> Equipment)AND $ other-> Equipment)替換了」$ otherequips = $ other-> Equipment「?$ other-> Equipment:'';」當我按下編輯按鈕和一個文本框是空白的時候,if條件在我看來是有效的,但是當我單擊警告時確定,其他文本框也變成空白..儘管它沒有提交。 –

0

嘗試在控制器中使用flag variabletrim function

$flag=1; 
if(!empty($_POST['btn_editother'])){ 
     if(trim($_POST['txt_editotherequip']) == "") { 
      $flag=0; 
     } 
     if(trim($_POST['txt_editotherdesc']) == "") { 
      $flag=0; 
     } 
     if(trim($_POST['txt_editotherserialnum']) == ""){ 
      $flag=0; 
     } 
     if($flag == 0) return false; 
     else{ 
      $this->inventory_model->update_others($this->input->post()); 
      redirect('inventorysys_controller/view_others', 'refresh'); 
     } 

} 

錯誤Trying to get property of non-object當模型是要麼無法提取數據或數據取出不是一個對象在所有發生。

+0

我試過你的代碼,但它仍然有錯誤,沒有改變。 –