GDFS#26662 Date selectie lijkt niet altijd te wissen
svn path=/Website/trunk/; revision=18651
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
<!-- #include file="../Shared/kostensoortselector.inc" -->
|
<!-- #include file="../Shared/kostensoortselector.inc" -->
|
||||||
|
|
||||||
<%
|
<%
|
||||||
|
|
||||||
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"],
|
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"],
|
||||||
js: ["date.js", "./sel_items_tab.js", "num2curr.js", "../FIN/fin_edit_factuur.js"]
|
js: ["date.js", "./sel_items_tab.js", "num2curr.js", "../FIN/fin_edit_factuur.js"]
|
||||||
});
|
});
|
||||||
@@ -280,8 +281,8 @@ var fin_btwtabel_key = oRs("fin_btwtabel_key").value; // Standaard btw tabel key
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Verdeelperiode
|
// Verdeelperiode
|
||||||
events = 'onKeyPress="kenmerkDividePeriodKey();"'
|
events = ' onKeyPress="kenmerkDividePeriodKey(event);"'
|
||||||
+ ' onPropertyChange="kenmerkDividePeriodChange();"'
|
+ ' onPropertyChange="kenmerkDividePeriodChange(event);"'
|
||||||
+ ' onChange="devidePeriodChanged();"'
|
+ ' onChange="devidePeriodChanged();"'
|
||||||
+ ' onBlur="checkDP(true);"';
|
+ ' onBlur="checkDP(true);"';
|
||||||
|
|
||||||
|
|||||||
@@ -359,3 +359,55 @@ function updateLocation()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkDividePeriod(value)
|
||||||
|
{
|
||||||
|
if (value == "") return true;
|
||||||
|
var valid = true;
|
||||||
|
var arr = /^(\d{4})[-](\d{1,2})$/.exec(value);
|
||||||
|
if (arr)
|
||||||
|
{
|
||||||
|
var dt = new Date( arr[1], arr[2] -1, 1 );
|
||||||
|
if ((arr[2] != dt.getMonth() + 1) ||
|
||||||
|
(arr[1] != dt.getYear() && arr[1] != dt.getFullYear()) ) {
|
||||||
|
valid = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else valid = false;
|
||||||
|
return(valid);
|
||||||
|
}
|
||||||
|
|
||||||
|
function kenmerkDividePeriodKey(evt)
|
||||||
|
{
|
||||||
|
var e = evt || event;
|
||||||
|
var kc = e.which || e.keyCode;
|
||||||
|
if (kc >= 48 && kc <= 57) return;
|
||||||
|
if (String.fromCharCode(kc) == '<%=L("lcl_date_separator")%>' ||
|
||||||
|
String.fromCharCode(kc) == '-') return;
|
||||||
|
e.returnValue = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function kenmerkDividePeriodChange(evt)
|
||||||
|
{
|
||||||
|
var e = evt || event;
|
||||||
|
if( e.propertyName != 'value' ) return;
|
||||||
|
|
||||||
|
var el = e.srcElement || e.target;
|
||||||
|
var newT = el.value;
|
||||||
|
var nm = el.name;
|
||||||
|
var oldT = dateInputs[nm]; if (oldT == null) oldT = '';
|
||||||
|
var valid = false;
|
||||||
|
|
||||||
|
if (newT == '') valid = true; else
|
||||||
|
if (/^\d{4}$/.test(newT))
|
||||||
|
{
|
||||||
|
el.value += '<%=L("lcl_date_separator")%>';
|
||||||
|
valid = true;
|
||||||
|
}
|
||||||
|
else if (/^\d{1,4}(|[-](|\d{1,2}))$/.test(newT))
|
||||||
|
{
|
||||||
|
valid = true;
|
||||||
|
}
|
||||||
|
if (valid) dateInputs[nm] = el.value; else
|
||||||
|
if (el.value != oldT) el.value = oldT;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,79 @@
|
|||||||
*/ %>
|
*/ %>
|
||||||
<!-- #include file="../Shared/common.inc" -->
|
<!-- #include file="../Shared/common.inc" -->
|
||||||
|
|
||||||
|
<%
|
||||||
|
re1 = '[' + (L("lcl_date_separator") == '-'
|
||||||
|
? L("lcl_date_separator")
|
||||||
|
: '-' + L("lcl_date_separator")) + ']';
|
||||||
|
empty = "__" + re1 + "__" + re1 + "____";
|
||||||
|
%>
|
||||||
|
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<LINK href="<%=custpath%>/cust.css" rel="stylesheet" type="text/css">
|
<LINK href="<%=custpath%>/cust.css" rel="stylesheet" type="text/css">
|
||||||
|
<script>
|
||||||
|
|
||||||
|
function owcheckDate(value)
|
||||||
|
{
|
||||||
|
if (/^<%=empty%>$/.test(value)) return true;
|
||||||
|
var valid = true;
|
||||||
|
var arr = /^(\d{1,2})<%=re1%>(\d{1,2})<%=re1%>(\d{1,4})$/.exec(value);
|
||||||
|
if (arr)
|
||||||
|
{
|
||||||
|
var dt = new Date( arr[3], arr[2] -1, arr[1] );
|
||||||
|
if ((arr[1] != dt.getDate()) ||
|
||||||
|
(arr[2] != dt.getMonth() + 1) ||
|
||||||
|
(arr[3] != dt.getYear() && arr[3] != dt.getFullYear())) {
|
||||||
|
valid = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else valid = false;
|
||||||
|
return(valid);
|
||||||
|
}
|
||||||
|
|
||||||
|
function owkenmerkDateChange()
|
||||||
|
{
|
||||||
|
if (event.propertyName != 'value') return;
|
||||||
|
|
||||||
|
var el = event.srcElement || event.target;
|
||||||
|
var newT = el.value;
|
||||||
|
var nm = el.name;
|
||||||
|
var oldT = dateInputs[nm];
|
||||||
|
if (oldT == null)
|
||||||
|
oldT = '';
|
||||||
|
var valid = false;
|
||||||
|
|
||||||
|
if (newT == '')
|
||||||
|
valid = true;
|
||||||
|
else
|
||||||
|
if (/^\d{2}$/.test(newT) || /^\d+[/-]\d{2}$/.test(newT))
|
||||||
|
{
|
||||||
|
el.value += '<%=L("lcl_date_separator")%>';
|
||||||
|
valid = true;
|
||||||
|
}
|
||||||
|
else if (/^\d{1,2}(|<%=re1%>(|\d{1,2}(|<%=re1%>(|\d{1,4}))))$/.test(newT))
|
||||||
|
{
|
||||||
|
valid = true;
|
||||||
|
}
|
||||||
|
if (valid)
|
||||||
|
{
|
||||||
|
dateInputs[nm] = el.value;
|
||||||
|
}
|
||||||
|
else if (el.value != oldT)
|
||||||
|
el.value = oldT;
|
||||||
|
}
|
||||||
|
|
||||||
|
function owkenmerkDateKey()
|
||||||
|
{
|
||||||
|
// Alleen cijfers, datumseperator of - toegestaan !
|
||||||
|
var kc = event.keyCode;
|
||||||
|
if (kc >= 48 && kc <= 57) return;
|
||||||
|
if (String.fromCharCode(kc) == '<%=L("lcl_date_separator")%>' ||
|
||||||
|
String.fromCharCode(kc) == '-') return;
|
||||||
|
event.returnValue = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<%
|
<%
|
||||||
var sort = getQParamInt("sort");
|
var sort = getQParamInt("sort");
|
||||||
@@ -190,7 +260,7 @@ if( txt ) rowIndex = txt.rowIndex;
|
|||||||
var kv = reado ? (ktype == 'X' ? (val? '<a href=\\"'+ S("image_path_virtual") +val1+'\\">'+val1+'</a>' :'') : ("<input type=text style='width:200px' value='"+ safe.htmlattr(val)+"' readonly "+"maxlength="+(ktype=='N'&&kdec?klen+1:klen)+">"))
|
var kv = reado ? (ktype == 'X' ? (val? '<a href=\\"'+ S("image_path_virtual") +val1+'\\">'+val1+'</a>' :'') : ("<input type=text style='width:200px' value='"+ safe.htmlattr(val)+"' readonly "+"maxlength="+(ktype=='N'&&kdec?klen+1:klen)+">"))
|
||||||
: ("<input type='"+(ktype == 'X' &&!val ? 'file' : 'text')+"' onChange=frames.hidFrameKenmerk" + serienr + ".checkK" + i + serienr + "(false) onBlur=frames.hidFrameKenmerk" + serienr + ".checkK" + i + serienr + "(true) name='k" + i + "val" + serienr + "'" + (val? " value='" + safe.htmlattr(val) + "'" : '')
|
: ("<input type='"+(ktype == 'X' &&!val ? 'file' : 'text')+"' onChange=frames.hidFrameKenmerk" + serienr + ".checkK" + i + serienr + "(false) onBlur=frames.hidFrameKenmerk" + serienr + ".checkK" + i + serienr + "(true) name='k" + i + "val" + serienr + "'" + (val? " value='" + safe.htmlattr(val) + "'" : '')
|
||||||
+ " maxlength="+(ktype=='N'&&kdec?klen+1:klen)
|
+ " maxlength="+(ktype=='N'&&kdec?klen+1:klen)
|
||||||
+ (ktype=='D'?' onKeyPress=kenmerkDateKey() onPropertyChange=kenmerkDateChange()':'')
|
+ (ktype=='D'?' onKeyPress=owkenmerkDateKey() onPropertyChange=owkenmerkDateChange()':'')
|
||||||
+ " style='width:" + (klen > 28? (klen > 40? "360" : "" + (klen * 100 / 14 + 10)) : "200") + "px'>")
|
+ " style='width:" + (klen > 28? (klen > 40? "360" : "" + (klen * 100 / 14 + 10)) : "200") + "px'>")
|
||||||
+ ((val && ktype == 'X') ? "<input type=button class=mbutton style='width:20px;height:20px;background-image:url(../Pictures/fileopen.gif)' onClick='openDoc(\\\""+ safe.jsstring(S("image_path_virtual")) + val1 + "\\\");'>" : "");
|
+ ((val && ktype == 'X') ? "<input type=button class=mbutton style='width:20px;height:20px;background-image:url(../Pictures/fileopen.gif)' onClick='openDoc(\\\""+ safe.jsstring(S("image_path_virtual")) + val1 + "\\\");'>" : "");
|
||||||
|
|
||||||
@@ -303,7 +373,7 @@ function checkK<%=i%><%=serienr%>(show){
|
|||||||
if( value != '' ) {
|
if( value != '' ) {
|
||||||
|
|
||||||
<% if( ktype == 'D' ) { %>
|
<% if( ktype == 'D' ) { %>
|
||||||
valid = parent.checkDate( value );
|
valid = parent.owcheckDate( value );
|
||||||
if( ! valid ) err = "<%=L("lcl_mld_kenmerk_out_range")%>";
|
if( ! valid ) err = "<%=L("lcl_mld_kenmerk_out_range")%>";
|
||||||
<% } else if( (ktype == 'C') || (ktype == 'L') || (ktype == 'Q')) { %>
|
<% } else if( (ktype == 'C') || (ktype == 'L') || (ktype == 'Q')) { %>
|
||||||
if( value.length > <%=klen%> ) valid = false;
|
if( value.length > <%=klen%> ) valid = false;
|
||||||
@@ -339,6 +409,7 @@ function checkK<%=i%><%=serienr%>(show){
|
|||||||
%>
|
%>
|
||||||
|
|
||||||
window.parent.changeButtons();
|
window.parent.changeButtons();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</form>
|
</form>
|
||||||
<%
|
<%
|
||||||
|
|||||||
@@ -326,7 +326,8 @@ function cal_show_onChange(e)
|
|||||||
pDay = parseInt(possdate[1], 10);
|
pDay = parseInt(possdate[1], 10);
|
||||||
dt = new Date(pYear, pMonth, pDay);
|
dt = new Date(pYear, pMonth, pDay);
|
||||||
$(this).datepicker('setDate', dt);
|
$(this).datepicker('setDate', dt);
|
||||||
$(this)[0].onSelect.apply();
|
if ($(this)[0].onSelect)
|
||||||
|
$(this)[0].onSelect.apply();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -23,7 +23,8 @@
|
|||||||
// "jquery-ui.js" en "date.js" zijn alleen nodig als er een datumkenmerk is.
|
// "jquery-ui.js" en "date.js" zijn alleen nodig als er een datumkenmerk is.
|
||||||
// meestal is die er toch al wel in het hoofdscherm dus voor het gemak doen
|
// meestal is die er toch al wel in het hoofdscherm dus voor het gemak doen
|
||||||
// we het hier ook maar voor overige schermen.
|
// we het hier ook maar voor overige schermen.
|
||||||
FCLTHeader.Requires({plugins:["jQuery", "kenmerk"], js: ["jquery-ui.js", "date.js"]})
|
if (!this.JSON_Result)
|
||||||
|
FCLTHeader.Requires({plugins:["jQuery", "kenmerk"], js: ["jquery-ui.js", "date.js"]})
|
||||||
|
|
||||||
var requiredGroupUsed = new Array(); // Array zorgt voor eenmalige initiele aanroep van checkRequiredGroup(groep) per groep
|
var requiredGroupUsed = new Array(); // Array zorgt voor eenmalige initiele aanroep van checkRequiredGroup(groep) per groep
|
||||||
|
|
||||||
@@ -941,7 +942,6 @@ function listKenmerk(sql, module, key, props)
|
|||||||
+ "'"
|
+ "'"
|
||||||
+ (required ? " required='required' " : "")
|
+ (required ? " required='required' " : "")
|
||||||
+ " value='" + safe.htmlattr(val) + "'"
|
+ " value='" + safe.htmlattr(val) + "'"
|
||||||
+ (!readonlyfield ? ' onKeyPress=kenmerkDateKey() onPropertyChange=kenmerkDateChange()' : "")
|
|
||||||
+ ">";
|
+ ">";
|
||||||
anyDate |= !readonlyfield;
|
anyDate |= !readonlyfield;
|
||||||
}
|
}
|
||||||
@@ -1160,7 +1160,7 @@ function listKenmerk(sql, module, key, props)
|
|||||||
if (makeCheckbox && props.mobile) // Zie commentaar iets verderop
|
if (makeCheckbox && props.mobile) // Zie commentaar iets verderop
|
||||||
props.label_colspan = 2;
|
props.label_colspan = 2;
|
||||||
|
|
||||||
kenmerk_write('<td class="label ' + (ktype == 'L' || ktype == 'l'? 'flexlabel' : '') + '"'
|
kenmerk_write('<td class="label' + (ktype == 'L' || ktype == 'l'? ' flexlabel' : '')+ (kenmerk_search? ' flexsearch' : '') + '"'
|
||||||
+ (props.label_colspan? ' colspan=' + props.label_colspan : '')
|
+ (props.label_colspan? ' colspan=' + props.label_colspan : '')
|
||||||
+ '><label for="' + nameprefix + idCounter + 'val">'
|
+ '><label for="' + nameprefix + idCounter + 'val">'
|
||||||
+ '<span title="' + safe.htmlattr(hint) + '">'
|
+ '<span title="' + safe.htmlattr(hint) + '">'
|
||||||
|
|||||||
@@ -14,11 +14,11 @@ var FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
|||||||
<%
|
<%
|
||||||
Response.ContentType = "text/javascript";
|
Response.ContentType = "text/javascript";
|
||||||
|
|
||||||
|
|
||||||
re1 = '[' + (L("lcl_date_separator") == '-'
|
re1 = '[' + (L("lcl_date_separator") == '-'
|
||||||
? L("lcl_date_separator")
|
? L("lcl_date_separator")
|
||||||
: '-' + L("lcl_date_separator")) + ']';
|
: '-' + L("lcl_date_separator")) + ']';
|
||||||
empty = "__" + re1 + "__" + re1 + "____";
|
empty = "__" + re1 + "__" + re1 + "____";
|
||||||
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
var empty='<%=empty%>';
|
var empty='<%=empty%>';
|
||||||
@@ -85,8 +85,7 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
|||||||
{
|
{
|
||||||
if (ktype == 'D')
|
if (ktype == 'D')
|
||||||
{
|
{
|
||||||
valid = checkDate(value);
|
$(field).change(cal_show_onChange);
|
||||||
if (!valid) err = "<%=L("lcl_mld_kenmerk_out_range")%>";
|
|
||||||
}
|
}
|
||||||
else if (ktype == 'C' || ktype == 'L' || ktype == 'Q')
|
else if (ktype == 'C' || ktype == 'L' || ktype == 'Q')
|
||||||
{
|
{
|
||||||
@@ -138,116 +137,6 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
|||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkDate(value)
|
|
||||||
{
|
|
||||||
if (/^<%=empty%>$/.test(value)) return true;
|
|
||||||
var valid = true;
|
|
||||||
var arr = /^(\d{1,2})<%=re1%>(\d{1,2})<%=re1%>(\d{1,4})$/.exec(value);
|
|
||||||
if (arr)
|
|
||||||
{
|
|
||||||
var dt = new Date( arr[3], arr[2] -1, arr[1] );
|
|
||||||
if ((arr[1] != dt.getDate()) ||
|
|
||||||
(arr[2] != dt.getMonth() + 1) ||
|
|
||||||
(arr[3] != dt.getYear() && arr[3] != dt.getFullYear())) {
|
|
||||||
valid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else valid = false;
|
|
||||||
return(valid);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkDividePeriod(value)
|
|
||||||
{
|
|
||||||
if (/^<%=empty%>$/.test(value)) return true;
|
|
||||||
var valid = true;
|
|
||||||
var arr = /^(\d{4})<%=re1%>(\d{1,2})$/.exec(value);
|
|
||||||
if (arr)
|
|
||||||
{
|
|
||||||
//var dt = new Date( arr[3], arr[2] -1, arr[1] );
|
|
||||||
var dt = new Date( arr[1], arr[2] -1, 1 );
|
|
||||||
if ((arr[2] != dt.getMonth() + 1) ||
|
|
||||||
(arr[1] != dt.getYear() && arr[1] != dt.getFullYear()) ) {
|
|
||||||
valid = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else valid = false;
|
|
||||||
return(valid);
|
|
||||||
}
|
|
||||||
|
|
||||||
function kenmerkDateChange()
|
|
||||||
{
|
|
||||||
if (event.propertyName != 'value') return;
|
|
||||||
|
|
||||||
var el = event.srcElement || event.target;
|
|
||||||
var newT = el.value;
|
|
||||||
var nm = el.name;
|
|
||||||
var oldT = dateInputs[nm];
|
|
||||||
if (oldT == null)
|
|
||||||
oldT = '';
|
|
||||||
var valid = false;
|
|
||||||
|
|
||||||
if (newT == '')
|
|
||||||
valid = true;
|
|
||||||
else
|
|
||||||
if (/^\d{2}$/.test(newT) || /^\d+[/-]\d{2}$/.test(newT))
|
|
||||||
{
|
|
||||||
el.value += '<%=L("lcl_date_separator")%>';
|
|
||||||
valid = true;
|
|
||||||
}
|
|
||||||
else if (/^\d{1,2}(|<%=re1%>(|\d{1,2}(|<%=re1%>(|\d{1,4}))))$/.test(newT))
|
|
||||||
{
|
|
||||||
valid = true;
|
|
||||||
}
|
|
||||||
if (valid)
|
|
||||||
{
|
|
||||||
dateInputs[nm] = el.value;
|
|
||||||
}
|
|
||||||
else if (el.value != oldT)
|
|
||||||
el.value = oldT;
|
|
||||||
}
|
|
||||||
|
|
||||||
function kenmerkDateKey()
|
|
||||||
{
|
|
||||||
var kc = event.keyCode;
|
|
||||||
if (kc >= 48 && kc <= 57) return;
|
|
||||||
if (String.fromCharCode(kc) == '<%=L("lcl_date_separator")%>' ||
|
|
||||||
String.fromCharCode(kc) == '-') return;
|
|
||||||
event.returnValue = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function kenmerkDividePeriodChange()
|
|
||||||
{
|
|
||||||
if( event.propertyName != 'value' ) return;
|
|
||||||
|
|
||||||
var el = event.srcElement || event.target;
|
|
||||||
var newT = el.value;
|
|
||||||
var nm = el.name;
|
|
||||||
var oldT = dateInputs[nm]; if (oldT == null) oldT = '';
|
|
||||||
var valid = false;
|
|
||||||
|
|
||||||
if (newT == '') valid = true; else
|
|
||||||
if (/^\d{4}$/.test(newT))
|
|
||||||
{
|
|
||||||
el.value += '<%=L("lcl_date_separator")%>';
|
|
||||||
valid = true;
|
|
||||||
}
|
|
||||||
else if (/^\d{1,4}(|<%=re1%>(|\d{1,2}))$/.test(newT))
|
|
||||||
{
|
|
||||||
valid = true;
|
|
||||||
}
|
|
||||||
if (valid) dateInputs[nm] = el.value; else
|
|
||||||
if (el.value != oldT) el.value = oldT;
|
|
||||||
}
|
|
||||||
|
|
||||||
function kenmerkDividePeriodKey()
|
|
||||||
{
|
|
||||||
var kc = event.keyCode;
|
|
||||||
if (kc >= 48 && kc <= 57) return;
|
|
||||||
if (String.fromCharCode(kc) == '<%=L("lcl_date_separator")%>' ||
|
|
||||||
String.fromCharCode(kc) == '-') return;
|
|
||||||
event.returnValue = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Op een generieke manier documenten openen
|
// Op een generieke manier documenten openen
|
||||||
// DWF bestanden worden eventueel met de SLNKDWF viewer geopend
|
// DWF bestanden worden eventueel met de SLNKDWF viewer geopend
|
||||||
// Poweruser feature: Ctrl ingedrukt opent DWF bestanden toch 'gewoon'
|
// Poweruser feature: Ctrl ingedrukt opent DWF bestanden toch 'gewoon'
|
||||||
|
|||||||
Reference in New Issue
Block a user