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" -->
|
||||
|
||||
<%
|
||||
|
||||
FCLTHeader.Requires({ plugins: ["suggest", "jQuery"],
|
||||
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
|
||||
events = 'onKeyPress="kenmerkDividePeriodKey();"'
|
||||
+ ' onPropertyChange="kenmerkDividePeriodChange();"'
|
||||
events = ' onKeyPress="kenmerkDividePeriodKey(event);"'
|
||||
+ ' onPropertyChange="kenmerkDividePeriodChange(event);"'
|
||||
+ ' onChange="devidePeriodChanged();"'
|
||||
+ ' 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" -->
|
||||
|
||||
<%
|
||||
re1 = '[' + (L("lcl_date_separator") == '-'
|
||||
? L("lcl_date_separator")
|
||||
: '-' + L("lcl_date_separator")) + ']';
|
||||
empty = "__" + re1 + "__" + re1 + "____";
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<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>
|
||||
<%
|
||||
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)+">"))
|
||||
: ("<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)
|
||||
+ (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'>")
|
||||
+ ((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( ktype == 'D' ) { %>
|
||||
valid = parent.checkDate( value );
|
||||
valid = parent.owcheckDate( value );
|
||||
if( ! valid ) err = "<%=L("lcl_mld_kenmerk_out_range")%>";
|
||||
<% } else if( (ktype == 'C') || (ktype == 'L') || (ktype == 'Q')) { %>
|
||||
if( value.length > <%=klen%> ) valid = false;
|
||||
@@ -339,6 +409,7 @@ function checkK<%=i%><%=serienr%>(show){
|
||||
%>
|
||||
|
||||
window.parent.changeButtons();
|
||||
|
||||
</script>
|
||||
</form>
|
||||
<%
|
||||
|
||||
@@ -326,7 +326,8 @@ function cal_show_onChange(e)
|
||||
pDay = parseInt(possdate[1], 10);
|
||||
dt = new Date(pYear, pMonth, pDay);
|
||||
$(this).datepicker('setDate', dt);
|
||||
$(this)[0].onSelect.apply();
|
||||
if ($(this)[0].onSelect)
|
||||
$(this)[0].onSelect.apply();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
// "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
|
||||
// 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
|
||||
|
||||
@@ -941,7 +942,6 @@ function listKenmerk(sql, module, key, props)
|
||||
+ "'"
|
||||
+ (required ? " required='required' " : "")
|
||||
+ " value='" + safe.htmlattr(val) + "'"
|
||||
+ (!readonlyfield ? ' onKeyPress=kenmerkDateKey() onPropertyChange=kenmerkDateChange()' : "")
|
||||
+ ">";
|
||||
anyDate |= !readonlyfield;
|
||||
}
|
||||
@@ -1160,7 +1160,7 @@ function listKenmerk(sql, module, key, props)
|
||||
if (makeCheckbox && props.mobile) // Zie commentaar iets verderop
|
||||
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 : '')
|
||||
+ '><label for="' + nameprefix + idCounter + 'val">'
|
||||
+ '<span title="' + safe.htmlattr(hint) + '">'
|
||||
|
||||
@@ -14,11 +14,11 @@ var FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
||||
<%
|
||||
Response.ContentType = "text/javascript";
|
||||
|
||||
|
||||
re1 = '[' + (L("lcl_date_separator") == '-'
|
||||
? L("lcl_date_separator")
|
||||
: '-' + L("lcl_date_separator")) + ']';
|
||||
empty = "__" + re1 + "__" + re1 + "____";
|
||||
|
||||
%>
|
||||
|
||||
var empty='<%=empty%>';
|
||||
@@ -85,8 +85,7 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||
{
|
||||
if (ktype == 'D')
|
||||
{
|
||||
valid = checkDate(value);
|
||||
if (!valid) err = "<%=L("lcl_mld_kenmerk_out_range")%>";
|
||||
$(field).change(cal_show_onChange);
|
||||
}
|
||||
else if (ktype == 'C' || ktype == 'L' || ktype == 'Q')
|
||||
{
|
||||
@@ -138,116 +137,6 @@ function checkKenmerk(field, show, ktype, klen, kdec, kmin, kmax)
|
||||
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
|
||||
// DWF bestanden worden eventueel met de SLNKDWF viewer geopend
|
||||
// Poweruser feature: Ctrl ingedrukt opent DWF bestanden toch 'gewoon'
|
||||
|
||||
Reference in New Issue
Block a user