在window.print()之后javascript不执行(codeigniter)php脚本

时间:2013-01-18 14:16:15

标签: javascript codeigniter

我有这个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');  
    }  
}

*其他说明,
如果付款还可以: 它打印,将数据插入数据库但不重定向 成功的数据库插入后,重定向脚本位于我的模型中。

如果付款不行:(此方没问题)
它重定向到msg页面,

1 个答案:

答案 0 :(得分:0)

这与javascript无关;你这是一个诚实的错误:

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

应改为:

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

此外,如果您在进行开发时将display_errors设置为on并将error_reporting设置为E_ALL,这将有所帮助,因此您可以查看错误发生的时间。