You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
169 lines
4.5 KiB
169 lines
4.5 KiB
2 years ago
|
/* gesammelte GANG-Scripte
|
||
|
(c) 2007 Daniel Quathamer */
|
||
|
|
||
|
|
||
|
function maskeTogglekeyfields()
|
||
|
{
|
||
|
document.forms[0].elements.keyfieldsused.value="true";
|
||
|
|
||
|
for (i=0;i<document.forms[0].elements.length;i++)
|
||
|
{
|
||
|
e=document.forms[0].elements[i];
|
||
|
//klappt im IE noch nicht:
|
||
|
//if (e.getAttribute('class')=="schluesselfeld" )
|
||
|
if (e.name.indexOf("key_") ==0 )
|
||
|
{
|
||
|
if (e.style.display!="none")
|
||
|
{
|
||
|
e.style.display="none";
|
||
|
} else
|
||
|
{
|
||
|
//sichtbar machen:
|
||
|
e.style.display="";
|
||
|
var sel_name=e.name.substr(4);
|
||
|
//Das Schlüsselfeld kommt immer direkt vor select-Feld :
|
||
|
e.value=document.forms[0].elements[i+1].value; //getKeyfromKeyfield(sel_name,i); //document.forms[0].elements['inp_' + sel_name].value;
|
||
|
//Wenn es in Unterfomularen mehrere Felder mit gleicher id gibt, muss ich
|
||
|
//Schreibschutz einschalten, weil keyfield nicht änderbar sein darf.
|
||
|
//denn: keyfield ist nicht eindeutig!
|
||
|
if(!document.forms[0].elements['inp_' + sel_name].value)
|
||
|
e.disabled =true;
|
||
|
if(document.forms[0].elements['inp_' + sel_name].value && document.forms[0].elements['inp_' + sel_name].disabled ==true)
|
||
|
e.disabled =true;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
/*
|
||
|
obsolet:
|
||
|
function getKeyfromKeyfield(feldname,i)
|
||
|
{
|
||
|
var wert='';
|
||
|
var feld_zaehler=0;
|
||
|
if(document.forms[0].elements['inp_' + feldname])
|
||
|
{
|
||
|
for (k=0;k<document.forms[0].elements.length;k++)
|
||
|
{
|
||
|
e=document.forms[0].elements[k];
|
||
|
if(e.id=='inp_' + feldname)
|
||
|
{
|
||
|
var keyfield_number=keyfield_index(document.forms[0].elements[k].name);
|
||
|
alert(e.id+'|'+document.forms[0].elements[k].name+'|'+keyfield_number+'|' + feld_zaehler);
|
||
|
if(keyfield_number==feld_zaehler && wert=='')
|
||
|
{
|
||
|
wert= e.value;
|
||
|
feld_zaehler++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
return wert;
|
||
|
}
|
||
|
|
||
|
function keyfield_index(feldname)
|
||
|
{
|
||
|
//z.B. aus f_347_1@0@root_2 die 1 extrahieren
|
||
|
var f=feldname.substring(0,feldname.indexOf('@'));
|
||
|
//nun habe ich f_347_1
|
||
|
var ind=f.substring(f.lastIndexOf('_')+1,f.lastIndexOf('_')+2);
|
||
|
//nun die 1
|
||
|
//alert(feldname+'|'+f+'|'+ind);
|
||
|
return parseInt(ind);
|
||
|
|
||
|
}
|
||
|
*/
|
||
|
function updateAndValidateSelect(key_fld,validate)
|
||
|
{
|
||
|
var fld_name=key_fld.name;
|
||
|
var sel_name='inp_' + key_fld.name.substr(4);
|
||
|
var wert=key_fld.value.trim();
|
||
|
var feldnummer=0;
|
||
|
//Bei CHAR-Schlüsseln müssen ggf. hinten Leerzeichen drangehängt werden,
|
||
|
//damit DBFORMS den Schlüssel erkennt.
|
||
|
//ermittle Feldnummer, denn nur die ist eindeutig
|
||
|
for (k=0;k<document.forms[0].elements.length;k++)
|
||
|
{
|
||
|
if(document.forms[0].elements[k].id==sel_name)
|
||
|
feldnummer=k;
|
||
|
}
|
||
|
//alert(sel_name+' ' + feldnummer);
|
||
|
var laenge=document.forms[0].elements[feldnummer].value.length;
|
||
|
if (laenge !=dojo.string.trim(document.forms[0].elements[feldnummer].value))
|
||
|
wert=dojo.string.padRight(wert.trim(),laenge,' ');
|
||
|
//alert("#"+wert+"#");
|
||
|
//Das Schlüsselfeld kommt immer direkt vor select-Feld :
|
||
|
document.forms[0].elements[feldnummer].value=wert;
|
||
|
if(document.forms[0].elements[feldnummer].selectedIndex<=0 && validate)
|
||
|
alert("Der Wert "+wert.trim()+ " kommt in der Liste nicht vor");
|
||
|
}
|
||
|
function updateSelect(key_fld)
|
||
|
{
|
||
|
updateAndValidateSelect(key_fld,false)
|
||
|
|
||
|
}
|
||
|
function trimSelect(sel_fld)
|
||
|
{
|
||
|
sel_fld.value=sel_fld.value.trim();
|
||
|
}
|
||
|
|
||
|
function updateKeyfield(sel_fld)
|
||
|
{
|
||
|
//alert(sel_fld.value);
|
||
|
//sel_fld.value=sel_fld.value.trim();
|
||
|
|
||
|
var sel_name=sel_fld.name;
|
||
|
var feldnummer=0;
|
||
|
//ermittle Feldnummer, denn nur die ist eindeutig
|
||
|
for (k=0;k<document.forms[0].elements.length;k++)
|
||
|
{
|
||
|
if(document.forms[0].elements[k].name==sel_name)
|
||
|
feldnummer=k;
|
||
|
}
|
||
|
var wert=sel_fld.value.trim();
|
||
|
//alert("#"+wert+"#");
|
||
|
//Das Schlüsselfeld kommt immer direkt vor select-Feld :
|
||
|
document.forms[0].elements[feldnummer-1].value=wert;
|
||
|
}
|
||
|
|
||
|
function validate_ca()
|
||
|
{
|
||
|
if(document.getElementById )
|
||
|
{
|
||
|
var cnw=parseFloatGr(document.getElementById('inp_gang_cnwcnw_summe').value);
|
||
|
if(cnw != NaN && cnw > 0)
|
||
|
{
|
||
|
var summe=0;
|
||
|
var zaehler=0;
|
||
|
for (i=0;i<document.forms[0].elements.length;i++)
|
||
|
// for (i=0;i<5;i++)
|
||
|
{
|
||
|
e=document.forms[0].elements[i];
|
||
|
//alert(e.class);
|
||
|
if(e.getAttribute('onBlur')=="validate_ca()" || e.className=="ca_wert")
|
||
|
{
|
||
|
//alert(e.Attribute['onBlur'].nodeValue);
|
||
|
zaehler++;
|
||
|
summe+= parseFloatGr(e.value);
|
||
|
}
|
||
|
}
|
||
|
if(cnw!=summe && zaehler > 1)
|
||
|
alert("Warnung: die Summe der CA-Werte ("+summe+") stimmt nicht mit dem CNW ("+cnw+") überein.");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function parseFloatGr(s)
|
||
|
{
|
||
|
var zahl_str=s;
|
||
|
var zahl=0;
|
||
|
var komma=s.indexOf(",");
|
||
|
if (komma >0)
|
||
|
zahl_str=s.substring(0,komma)+"."+s.substring(komma+1,s.length);
|
||
|
zahl=parseFloat(zahl_str);
|
||
|
return zahl;
|
||
|
|
||
|
}
|
||
|
|