0

私は支払いが合計以上であるかどうかをチェックするこのjavascriptを持っています
、window.printはリダイレクトページが発生するのと同じように実行されますが、それは印刷するだけで
リダイレクトしません。

ページを表示:

<script>
function printpage() 
{
      var 
          total = parseFloat($(':input[name="total"]').val(),10),
      cash = parseFloat($(':input[name="cash"]').val(),10),
      charge = parseFloat($(':input[name="charge"]').val(),10),   
      payment = (cash + charge);

      if(payment>= total){

      window.print();
      }else{

      return false;
      }
}
</script>

im not good at javascript. 
here is some more details:  
<form action="bills/settle" method="post">  
<input type="text" name="cash">  
<input type="text" name="charge">
<input type="text" name="total" value="<?php echo $total"> 
<input type="submit" onclick="printpage()"   
</form>  

コントローラページ:

function settle(){  
$payment = $this->input->post('cash')+ $this->input->post('charge');  
$total = $this->input->post('total');  
$data = ('cash'=>$this->input->post('cash'), so on.....)    

    if($payment >=$total)
    {  

        $this->load->model('process');  
        $this->process->close_bill($data);  

    } else {
       redirect('msg','refresh');  
    }  
}

*その他の注意事項、
支払いがOKの場合:データを印刷してデータベースに挿入しますが、リダイレクトはしません。
リダイレクトスクリプトは、データベースの挿入が成功した後、私のモデルにあります。

支払いがOKでない場合:(こちら側では問題ありません)
メッセージページにリダイレクトされます、

4

1 に答える 1

0

これは JavaScript とは関係ありません。それはあなたの側の正直な間違いでした:

<input type="text" name="total" value="<?php echo $total">

代わりに次のようにする必要があります。

<input type="text" name="total" value="<?php echo $total; ?>"> 

また、開発中にdisplay_errorsset toonerror_reportingset toE_ALLを設定しておけば、エラーがいつ発生したかがわかります。

于 2013-01-18T19:21:03.433 に答える