abracadabraPDF › Forums › PDF – Général › Propriété d’un champ › Répondre à : Propriété d’un champ

bonjour,
Voici ce que je t’ai fait ! Les champs ne sont visibles que si la question et la réponse correspondante ne sont pas hors page.
Ce n’est pas très compliqué. Tu me dis ce que tu ne comprends pas.
// Script de document
var hauteurChamp=7.5;
var corps=9.5;
var interligne=corps*1.16;
var margeBas=0;
var mm2pt=72/25.4;
margeBas*=mm2pt;
function reglage(champ,rect) {
champ.delay=true;
champ.rect=rect;
champ.delay=false;
}
function reglageChamps(ind) {
for (var i=ind; i<10; i++) {
var f=this.getField("question."+i);
var fRect=f.rect;
var haut=fRect[1];
var ff=this.getField("nbQ."+i);
var ffRect=ff.rect;
var g=this.getField("reponse."+i);
var gRect=g.rect;
var gg=this.getField("nbR."+i);
var ggRect=gg.rect;
if (i==ind) {
if (event.target.name.indexOf("nbQ")==0) {
var originale=fRect[3];
var finale=fRect[1]-hauteurChamp*mm2pt-(Number(event.changeEx)-1)*interligne;
} else {
var originale=gRect[3];
var finale=gRect[1]-hauteurChamp*mm2pt-(Number(event.changeEx)-1)*interligne;
}
var delta=originale-finale;
if (event.target.name.indexOf("nbQ")==0) {
fRect[3]=finale;
reglage(f,fRect);
gRect[1]-=delta;
ggRect[1]-=delta;
ggRect[3]-=delta;
}
gRect[3]-=delta;
var bas=gRect[3];
reglage(g,gRect);
reglage(gg,ggRect);
} else {
fRect[1]-=delta;
fRect[3]-=delta;
reglage(f,fRect);
ffRect[1]-=delta;
ffRect[3]-=delta;
reglage(ff,ffRect);
gRect[1]-=delta;
gRect[3]-=delta;
var bas=gRect[3];
reglage(g,gRect);
ggRect[1]-=delta;
ggRect[3]-=delta;
reglage(gg,ggRect);
}
if (haut>=margeBas && bas>=margeBas) {
f.display=display.visible;
ff.display=display.visible;
g.display=display.visible;
gg.display=display.visible;
} else {
f.display=display.hidden;
ff.display=display.hidden;
g.display=display.hidden;
gg.display=display.hidden;
}
}
}
// Script de touches personnalisé
if (!event.willCommit) {
reglageChamps(event.target.name.substring(event.target.name.lastIndexOf(".")+1));
}
@+
😎