Donnez vie à vos documents numériques !
 

Répondre à : Action pour ouvrir une page web par script

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

#75851
michel c.
Participant

Non, mon script n’est pas bon, je viens de mettre ça en fonction et j’ai modifié les scripts ainsi mais ça ne fonctionne pas…

Je ne vois pas ou ça coince…

function addLink(a) {
var nomBoutons=[];
for (var k=0; k<10; k++) nomBoutons.push(this.getField("LinkT."+a+"."+k).buttonGetCaption());
for (var k=0; k<10; k++) {
if (this.getField("LinkT."+a+"."+k).buttonGetCaption()=="...") break;
}
if (k==10) app.alert("Tous les boutons renvoient à une URL.",3);
//
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.",
});
bDialogue.insertEntryInList({"menu":{"- Indices -": 0}});
bDialogue.insertSeparatorEntryInList("menu");
for (var i=0; i<10; i++) {
if (i!=k) var par=-1;
else var par=1;
eval("bDialogue.insertEntryInList({\"menu\":{\""+i+"\": "+(par*(i+1))+"}});");
}
},
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;
if (!testOK0) app.alert("Veuillez indiquer un nom pour le bouton.",3);
var testOK1=true;
texteURL=oRslt["url0"];
if (!/^(https?:\/\/)?([\w-]+(\.[\w-]+)+)(:\d+)?(\/[^\s]*)?$/i.test(texteURL)) var testOK1=false;
if (!testOK1) app.alert("Veuillez renseigner une URL correcte.",3);
cAc=this.quelBtRd(oRslt);
if (nomBoutons[indice]!="...") {
if (cAc=="Non") {
app.alert("Le bouton d'indice \""+indice+"\" est déjà renseigné.",3);
return false;
} else {
var reponse=app.alert("Le bouton d'indice \""+indice+"\" est déjà renseigné.\rSouhaitez-vous réellement le modifier ?",3,2);
if (reponse==3) return false;
}
}
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.1."+indice).setAction("MouseUp","//");
this.getField("LinkT.1."+indice).buttonSetCaption("...");
this.getField("LinkT.1."+indice).fillColor=color.ltGray;
} else {
this.getField("LinkT.1."+indice).setAction("MouseUp","app.launchURL(\""+texteURL+"\");");
this.getField("LinkT.1."+indice).buttonSetCaption(texteBouton);
this.getField("LinkT.1."+indice).fillColor=color.green;
}
}
}

Attachments:
You must be logged in to view attached files.