abracadabraPDF › Forums › PDF – Général › Action pour ouvrir une page web par script › Répondre à : Action pour ouvrir une page web par script

…comme ça je ne comprends pas pourquoi cela ne fonctionne pas !
Dans un premier temps tu peux mettre ce script sur tous tes boutons “AjouT”.
var ind=event.target.name.substring(event.target.name.indexOf(".")+1);
var nomBoutons=[];
for (var k=0; k<10; k++) nomBoutons.push(this.getField("LinkT."+ind+"."+k).buttonGetCaption());
for (var k=0; k<10; k++) {
if (this.getField("LinkT."+ind+"."+k).buttonGetCaption()=="...") break;
}
if (k==10) app.alert("Tous les boutons renvoient à une URL.",3);
lesElements=[0,1,2,3,4,5,6,7,8,9];
var laListe="- Indices -";
var listeElements="var listeElements \= \{\""+laListe+"\": "+(lesElements.length+1)+",";
for (var i=0; i<lesElements.length; i++) {
if (i!=k) var par=-1;
else var par=1;
listeElements+="\""+lesElements+"\": "+(par*(i+1)).toString()+",";
}
var listeElements=listeElements.substring(0, listeElements.length-1);
listeElements+="\}";
eval(listeElements);
//
var bDialogue={
initialize: function(bDialogue) {
this.cbInit=true;
bDialogue.enable({url0: true});
this.loadDefaults(bDialogue);
},
loadDefaults: function(bDialogue) {
bDialogue.load({
cb00: false,
rd00: true,
url0: "http://www.",
menu: listeElements,
});
},
cb00: function(bDialogue) {
this.cbInit=!this.cbInit;
bDialogue.enable({init: this.cbInit});
},
quelBtRd: function (oRslt) {
for (var i=0; i<=1; i++) {
if (oRslt["rd0"+i]) {
switch (i) {
case 0:
resBtRd="Non";
break;
case 1:
resBtRd="Oui";
}
}
};
return resBtRd;
},
validate: function(bDialogue) {
var oRslt=bDialogue.store();
var elements=bDialogue.store()["menu"];
for (var i in elements) {
if (elements>0) indice=i;
}
if (indice=="- Indices -") {
app.alert("Veuillez sélectionner l'indice d'un champ;.",3);
return false;
} else {
initialiser=oRslt["cb00"];
if (initialiser) {
texteBouton="...";
texteURL="";
return true;
} else {
texteBouton=oRslt["nmbt"];
var testOK0=true;
if (!/^(\w|\W)+( (\w|\W)+)*$/.test(texteBouton)) var testOK0=false;
var testOK1=true;
texteURL=oRslt["url0"];
if (!/^(https?:\/\/)?([\w-]+(\.[\w-]+)+)(:\d+)?(\/[^\s]*)?$/i.test(texteURL)) var testOK1=false;
cAc=this.quelBtRd(oRslt);
if (nomBoutons[indice]!="...") {
if (cAc=="Non") {
app.alert("Le bouton \"LinkT."+ind+"."+indice+"\" est déjà renseigné.",3);
return false;
} else {
var reponse=app.alert("Le bouton \"LinkT."+ind+"."+indice+"\" est déjà renseigné.\rSouhaitez-vous réellement le modifier ?",3,2);
if (reponse==3) return false;
}
}
if (!testOK0) app.alert("Veuillez indiquer un nom pour le bouton.",3);
else if (!testOK1) app.alert("Veuillez renseigner une URL correcte.",3);
var testOK=testOK0 && testOK1;
return testOK;
}
}
},
description: {
name: "Bouton vers URL",
first_tab: "cb00",
elements: [
{
type: "cluster", //
elements: [
{
type: "static_text",
name: "Indice du bouton",
font: "dialog",
bold: true,
},
{
type: "popup",
item_id: "menu",
alignment: "align_fill",
//width: 150,
},
{
type: "check_box",
alignment: "align_center",
item_id: "cb00",
name: " Réinitialiser le bouton",
},
{
type: "gap",
height: 5
},
{
type: "cluster",
item_id: "init",
elements: [
{
type: "static_text",
name: "Texte pour le bouton",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "nmbt",
alignment: "align_fill",
},
{
type: "gap",
height: 5
},
{
type: "static_text",
name: "URL à atteindre",
font: "dialog",
bold: true,
},
{
type: "edit_text",
item_id: "url0",
alignment: "align_fill",
},
{
type: "gap",
height: 5
},
{
type: "static_text",
name: "Modifier le bouton si renseigné ?",
font: "dialog",
bold: true,
},
{
type: "view",
alignment: "align_center",
align_children: "align_row",
elements: [
{
type: "radio",
group_id: "gr00",
item_id: "rd00",
name: " Non",
},
{
type: "radio",
group_id: "gr00",
item_id: "rd01",
name: " Oui",
},
]
},
]
},
{
type: "gap",
height: 5
},
{
type: "ok_cancel",
},
]
},
]
}
};
if("ok"==app.execDialog(bDialogue)){
if (initialiser) {
this.getField("LinkT."+ind+"."+indice).setAction("MouseUp","//");
this.getField("LinkT."+ind+"."+indice).buttonSetCaption("...");
this.getField("LinkT."+ind+"."+indice).fillColor=color.ltGray;
} else {
this.getField("LinkT."+ind+"."+indice).setAction("MouseUp","app.launchURL(\""+texteURL+"\");");
this.getField("LinkT."+ind+"."+indice).buttonSetCaption(texteBouton);
this.getField("LinkT."+ind+"."+indice).fillColor=color.green;
}
}
@+
😎