I am having some trouble getting my code to run on different browsers. I have written calculation code in javascript, however, this only work in Chrome, but not in some other browsers.
here is the screenshot with mozilla mozilla keep giving 1 value from the calculating result
here is the screenshot with chrome with chrome it give a success
This is my form -
<div class="control-group">
<?php echo $form->labelEx($model,'START_DATE', array('class'=>'control-label')); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'name'=>'TrnProjectScheduleAct[START_DATE]',
'id'=>'TrnProjectScheduleAct_START_DATE',
'value'=>$newformat = $model->START_DATE===NULL ? '' : date('d-M-Y', strtotime($model->START_DATE)),
'options'=>array(
'showAnim'=>'fold',
'dateFormat' => 'dd-M-yy',
'onSelect' => 'js:function(){
myUpdate(
$("#TrnProjectScheduleAct_START_DATE").val(),
$("#TrnProjectScheduleAct_END_DATE").val(),
$("#TrnProjectScheduleAct_TOTAL")
);}',
),
'htmlOptions'=>array(
'style'=>'height:20px;', 'readonly'=>true
),
));
?>
<?php echo $form->error($model,'START_DATE'); ?>
</div>
<div class="control-group">
<?php echo $form->labelEx($model,'END_DATE', array('class'=>'control-label')); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'name'=>'TrnProjectScheduleAct[END_DATE]',
'id'=>'TrnProjectScheduleAct_END_DATE',
'value'=>$newformat = $model->END_DATE===NULL ? '' : date('d-M-Y', strtotime($model->END_DATE)),
'options'=>array(
'showAnim'=>'fold',
'dateFormat' => 'dd-M-yy',
'onSelect' => 'js:function(){
myUpdate(
$("#TrnProjectScheduleAct_START_DATE").val(),
$("#TrnProjectScheduleAct_END_DATE").val(),
$("#TrnProjectScheduleAct_TOTAL")
);}'
),
'htmlOptions'=>array(
'style'=>'height:20px;', 'readonly'=>true
),
));
?>
<?php echo $form->error($model,'END_DATE'); ?>
</div>
<div class="control-group">
<?php echo $form->labelEx($model,'DAYS', array('class'=>'control-label')); ?>
<?php echo $form->textField($model,'DAYS',array('size'=>10,'maxlength'=>10, 'readonly'=>true, 'id'=>'TrnProjectScheduleAct_TOTAL')); echo " Estimasi hari belum termasuk tanggal merah"; ?>
<?php echo $form->error($model,'DAYS'); ?>
</div>
this is the script
<script>
$('#TrnProjectScheduleAct_START_DATE, #TrnProjectScheduleAct_END_DATE').change(function () {
if ($('#TrnProjectScheduleAct_START_DATE').is(":checked")) {
$('#TrnProjectScheduleAct_END_DATE').attr('disabled', true);
}
else {
$('#TrnProjectScheduleAct_END_DATE').attr('disabled', false);
}
if ($('#TrnProjectScheduleAct_END_DATE').is(":checked")) {
$('#TrnProjectScheduleAct_START_DATE').attr('disabled', true);
}
else {
$('#TrnProjectScheduleAct_START_DATE').attr('disabled', false);
}
});
function myUpdate(dt1, dt2,upd){
var msec1 = dt1;
var date1 = new Date(msec1);
var msec2 = dt2;
var date2 = new Date(msec2);
var diff = (isFinite(Math.round (date2 - date1) / 86400000) && Math.round (date2 - date1) / 86400000 || 0);
var wEnd=0;
if(date1>0 || date2>0){
for(var i=0; i<=diff; i++){
if(date1.getDay() ==6 || date1.getDay()==0){
wEnd = wEnd + 1;
}
date1.setDate(date1.getDate() + 1);
}
}
upd.val(Math.round((diff-wEnd)+1));
};
</script>
Does anyone know what the problem is here? Hope you can help, and thanks in advance.
there's some different format in chrome and firefox format. the problem is I'm using dd-mm-yyyy format. and it's only work at my chrome. when i remove "-", it works at both browser