V script.js dodajam dva primera, ki omogočita:
(a) izpolnjevanje ankete s pomočjo tipkovnice + legende tipk (b) primer poljubnega dinamičnega teksta kjerkoli v anketi (primer trenutnega meseca) GLEJ main/survey/script.js
This commit is contained in:
parent
747a6834c9
commit
7d3a0a28f8
@ -1954,3 +1954,82 @@ function disableSubsequentAnswers(){
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// izpolnjevanje obrazcev s pomočjo tipk (0-9)
|
||||
// enter submita formo (če seveda nisi noter v textu)!
|
||||
|
||||
$(document).on('keypress', function(e) {
|
||||
var tag = e.target.tagName.toLowerCase();
|
||||
if ( e.which >= 48 && e.which <= 57 && tag != 'input' && tag != 'textarea') {
|
||||
var inputs = document.querySelectorAll('[data-calculation="' + (e.which-48) + '"]');
|
||||
|
||||
// delamo samo tam, kjer je le ena instanca tega!
|
||||
if (inputs.length == 1) {
|
||||
inputs[0].checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
else if ( e.which === 13 && tag != 'input' && tag != 'textarea') {
|
||||
|
||||
var inputs = document.querySelectorAll('form[name="vnos"]');
|
||||
if (inputs.length == 1) {
|
||||
inputs[0].submit();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
// doda labele pred radie (kaj pritisniti; veže se na zgornjo funkcionalnost)
|
||||
// to bi morala biti generalna nastavitev ankete, tu je kot DEMO
|
||||
$(document).ready(function() {
|
||||
|
||||
// extra: labele tipk (to bi dal opcijsko)
|
||||
// samo tam, kjer je le en sklop
|
||||
var en_sklop=1;
|
||||
|
||||
for (a=0; a<=9; a++) {
|
||||
var inputs = document.querySelectorAll('[data-calculation="' + a + '"]');
|
||||
|
||||
if (inputs.length > 1) {
|
||||
en_sklop=0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (en_sklop == 1) {
|
||||
for (a=0; a<=9; a++) {
|
||||
var inputs = document.querySelectorAll('[data-calculation="' + a + '"]');
|
||||
if (inputs.length == 1) {
|
||||
inputs[0].insertAdjacentHTML('afterend', '[' + a + ']');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
// dodatno: primer, kako se lahko na ravni ankete zamenja tekst z nečim dinamičnim (iz ajaxa ali klienta)
|
||||
/*
|
||||
$(document).ready( function () {
|
||||
const month = ["januarja","februarja","marca","aprila","maja","junija","julija","avgusta","septembra","oktobra","novembra","decembra"];
|
||||
|
||||
const d = new Date();
|
||||
|
||||
// create a TreeWalker of all text nodes
|
||||
var allTextNodes = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT),
|
||||
// some temp references for performance
|
||||
tmptxt,
|
||||
tmpnode,
|
||||
// compile the RE and cache the replace string, for performance
|
||||
cakeRE = /:trenutni_mesec:/g,
|
||||
replaceValue = month[d.getMonth()];
|
||||
|
||||
// iterate through all text nodes
|
||||
while (allTextNodes.nextNode()) {
|
||||
tmpnode = allTextNodes.currentNode;
|
||||
tmptxt = tmpnode.nodeValue;
|
||||
tmpnode.nodeValue = tmptxt.replace(cakeRE, replaceValue);
|
||||
}
|
||||
});*/
|
Loading…
x
Reference in New Issue
Block a user