目前分類:整合 (3)

瀏覽方式: 標題列表 簡短摘要
<?php
$returnArray["detail"] = "新增失敗";
$returnArray["result"] = false;
try {
        if(empty($name)){
                throw new \Exception('資料錯誤 名稱 不得為空');
        }
        $insert_stmt = sqlsrv_prepare($this->msdb,
                "INSERT INTO [table] ( 名稱  , 新增時間 ) VALUES ( ? , GETDATE() );",
                array(&$name)
        );
        if(!$insert_stmt) {
                throw new \Exception('資料庫執行新增資料失敗,請再嘗試一次,如果還有問題請與我們聯絡。');
        }else if(!sqlsrv_execute($insert_stmt)) {
                throw new \Exception('資料庫執行新增資料失敗,請再嘗試一次,如果還有問題請與我們聯絡。');
        } else if(sqlsrv_rows_affected($insert_stmt) !== 1) {
                throw new \Exception("資料庫執行新增資料筆數錯誤,請再嘗試一次,如果還有問題請與我們聯絡。");
        }       
        $returnArray["detail"] = "新增成功";
        $returnArray["result"] = true;
        
} catch(\Exception $e) {
        $returnArray["debug"] = $e->getMessage();
}
return new JsonModel(['returnArray' => $returnArray]);
        
?>

javascript

function Validator(baseurl){
        var status = true;
        $('#insert_error').text('');
        $('#insert_error').hide();
        // 資料欄位檢查
        if(status == true){
                var options={
                        url     : baseurl,
                        success : function(data) {
                                data = data.returnArray
                                if(data.result){
                                        alert('成功');
                                }else{
                                        $('#insert_error').text(data.detail+","+data.debug)
                                        $('#insert_error').show()
                                }
                        },
                        error: function(xhr, ajaxOptions, thrownError) {
                                $('#insert_error').text(xhr.status+' '+thrownError)
                                $('#insert_error').show()
                        }

                };
                $("#insertform").ajaxSubmit(options);        
        }
        return false;
}

Html

 <form id="insertform" name="insertform" method="POST">
        <input type="hidden" class="form-control" name="do" value="insert" >
    <div class="row">
        <div class="col-md-12">
            <div class="form-group">
                <label>名稱</label>
                <input type="text" class="form-control" name="name">
            </div>
        </div>
    </div>      
     <div class="row">
        <div class="col-md-12">
            <div class="alert alert-dismissable alert-danger" id="insert_firm_error" style="display:none">
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
            </div>
         </div>
    </div>
        <button type="submit" class="btn btn-warning" onclick="JavaScript:return Validator('<?php echo $this->serverUrl('/project/public/action') ?>');" >送出</button>          
</form>
文章標籤

kkkelu1008 發表在 痞客邦 留言(0) 人氣()

  • 這是一篇加密文章,請輸入密碼
  • 密碼提示:方法
  • 請輸入密碼:

css

.lefttd{
  background-color: #e6ffff;
  width:80px;
}
.importSstable{
  width:100%;
}
.importSstable td{
  border: 1px solid #ddd;
  padding: 5px;
  text-align: left;
}

HTML

<div class="modal fade modal-center" id="getImportSsdata" >
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 class="modal-title" id="myModalLabel">檢視獎學金申請資料</h4>
      </div>
      <div class="modal-body">
        <table class="importSstable"></table>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div>
    </div>
  </div>
</div>

Javascript

columns: [
  {
    attributes: {style: 'text-align: center;'},
    headerAttributes: {style: 'font-weight: bolder; text-align: center;'},
    title: "選擇",
    template: function(dataItem){
        return '<button type="button" class="btn btn-warning" name="getData">檢視</button>'
    }
  }
]


$(document).on('click', 'button[class^="btn btn-warning"][type="button"]', function() {
  switch(this.name) {
    case 'getData': {
      var tr = this.closest('tr')
      var obj = $(tr.closest('[data-role="grid"]')).data('kendoGrid').dataItem(tr).toJSON()
      var l =Object.keys(obj).length;
      //先將table的所有tr資料刪除避免顯示出過去資料
      $(".importSstable tr").remove();
      for (var i=0;i<l; i++) { //不建議使用此方法,建議使用下方取得方法1、2
        //依照資料庫所有的欄位自動顯示欄位名稱與內容
        $(".importSstable").append('<tr><td class="lefttd">'+Object.keys(obj)[i]+'</td><td>'+Object.values(obj)[i]+'</td></tr>');
      }
    var a= obj
    //另取得方法 1
    for(var k in obj) {
      console.log(k, a[k])
    }
    //另取得方法 2
    $.each(obj, function(i,v) {
      console.log(i, v)
    })
    //顯示modal
    $("#getImportSsdata").modal();
      break
    }
  }
})
文章標籤

kkkelu1008 發表在 痞客邦 留言(0) 人氣()