ann
02-28-2006, 06:26 PM
Hi,
I would like to get some help regarding the functions here.
As you can see this returns 2 dates: datefrom as 30 days from today(dateto).
Instead, I need the dates as the first day of the previous month and the
last day of the previous month as datefrom and dateto.
Please suggest......
<script>
var cntlName;
function right(str, n){
if (n <= 0)
return "";
else if (n > String(str).length)
return str;
else {
var iLen = String(str).length;
return String(str).substring(iLen, iLen - n);
}
}
function customCheckPage(){
var par1;
var par2;
for( var i=0; i<preProcessControlArray.length; i++){
cntlName = eval(preProcessControlArray[i]);
if ( cntlName.m_oSubmit.name.toLowerCase() == 'p_pardatefrom' ){
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
par1 = cntlName.m_oForm.value;
}
if ( cntlName.m_oSubmit.name.toLowerCase() == 'p_pardateto' ){
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
par2 = cntlName.m_oForm.value;
}
}
if (par1<=par2)
promptButtonFinish();
else
alert('FROM DATE parameter must be smaller than or equal to TO DATE parameter!');
}
for( var i=0; i<pageNavigationObserverArray.length; i++){
cntlName = eval( pageNavigationObserverArray[i] );
if(cntlName.m_oParent.onclick.toString().indexOf('promptButtonFinish()')>0 ){
cntlName.m_oParent.onclick = customCheckPage;
}
}
for( var i=0; i<preProcessControlArray.length; i++){
cntlName = eval(preProcessControlArray[i]);
dt = new Date();
df = new Date( dt - 30*86400000);
if (cntlName.m_oSubmit.name.toLowerCase() == 'p_pardatefrom' ){
cntlName.m_oEditBox.value = df.getFullYear()
+ '-' + right('0'+(1+df.getMonth()),2)
+ '-' + right('0'+df.getDate(),2);
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
}
if (cntlName.m_oSubmit.name.toLowerCase() == 'p_pardateto' ){
cntlName.m_oEditBox.value = dt.getFullYear()
+ '-' + right('0'+(1+dt.getMonth()),2)
+ '-' + right('0'+dt.getDate(),2);
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
}
}
</script>
I would like to get some help regarding the functions here.
As you can see this returns 2 dates: datefrom as 30 days from today(dateto).
Instead, I need the dates as the first day of the previous month and the
last day of the previous month as datefrom and dateto.
Please suggest......
<script>
var cntlName;
function right(str, n){
if (n <= 0)
return "";
else if (n > String(str).length)
return str;
else {
var iLen = String(str).length;
return String(str).substring(iLen, iLen - n);
}
}
function customCheckPage(){
var par1;
var par2;
for( var i=0; i<preProcessControlArray.length; i++){
cntlName = eval(preProcessControlArray[i]);
if ( cntlName.m_oSubmit.name.toLowerCase() == 'p_pardatefrom' ){
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
par1 = cntlName.m_oForm.value;
}
if ( cntlName.m_oSubmit.name.toLowerCase() == 'p_pardateto' ){
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
par2 = cntlName.m_oForm.value;
}
}
if (par1<=par2)
promptButtonFinish();
else
alert('FROM DATE parameter must be smaller than or equal to TO DATE parameter!');
}
for( var i=0; i<pageNavigationObserverArray.length; i++){
cntlName = eval( pageNavigationObserverArray[i] );
if(cntlName.m_oParent.onclick.toString().indexOf('promptButtonFinish()')>0 ){
cntlName.m_oParent.onclick = customCheckPage;
}
}
for( var i=0; i<preProcessControlArray.length; i++){
cntlName = eval(preProcessControlArray[i]);
dt = new Date();
df = new Date( dt - 30*86400000);
if (cntlName.m_oSubmit.name.toLowerCase() == 'p_pardatefrom' ){
cntlName.m_oEditBox.value = df.getFullYear()
+ '-' + right('0'+(1+df.getMonth()),2)
+ '-' + right('0'+df.getDate(),2);
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
}
if (cntlName.m_oSubmit.name.toLowerCase() == 'p_pardateto' ){
cntlName.m_oEditBox.value = dt.getFullYear()
+ '-' + right('0'+(1+dt.getMonth()),2)
+ '-' + right('0'+dt.getDate(),2);
eval('pickerControl' + cntlName.m_sRef + '.lostFocus()');
}
}
</script>