我在使代碼在不同的瀏覽器上運行時遇到了一些麻煩。我已經在JavaScript中編寫了計算代碼,但是,這僅適用於Chrome,但不適用於其他某些瀏覽器。Javascript代碼僅適用於Chrome
這裏是Mozilla的 mozilla keep giving 1 value from the calculating result
這裏的截圖與鉻 with chrome it give a success
的截圖這是我的形式 -
<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>
這是腳本
<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>
有誰知道這裏有什麼問題? 希望你能幫忙,並提前致謝。
請添加該函數的調用。 –
只要使用一些好的工具,它已經乾淨:https://momentjs.com/ – sjahan
你是否在你的開發工具的控制檯中得到錯誤,比如說firefox? – mausinc