Javascript 代码仅适用于 Chrome
Javascript Code only works in Chrome
我在将我的代码在不同浏览器上 运行 时遇到了一些问题。我在javascript中写了计算代码,但是,这只在Chrome中有效,而在其他一些浏览器中无效。
这里是 mozilla 的截图
mozilla keep giving 1 value from the calculating result
这是 chrome 的屏幕截图
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>
有谁知道这里的问题是什么?
希望您能提供帮助,在此先感谢您。
计算2个日期对象之间的天差:
dayDiff = (date1.getTime() - date2.getTime()) / 1000/60/60/24;
chrome 和 firefox 格式有些不同。
问题是我使用的是 dd-mm-yyyy 格式。而且它只适用于我的 chrome。当我删除“-”时,它适用于两种浏览器
我在将我的代码在不同浏览器上 运行 时遇到了一些问题。我在javascript中写了计算代码,但是,这只在Chrome中有效,而在其他一些浏览器中无效。
这里是 mozilla 的截图 mozilla keep giving 1 value from the calculating result
这是 chrome 的屏幕截图 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>
有谁知道这里的问题是什么? 希望您能提供帮助,在此先感谢您。
计算2个日期对象之间的天差:
dayDiff = (date1.getTime() - date2.getTime()) / 1000/60/60/24;
chrome 和 firefox 格式有些不同。 问题是我使用的是 dd-mm-yyyy 格式。而且它只适用于我的 chrome。当我删除“-”时,它适用于两种浏览器