2017-04-26 1 views
1

Très, très nouveau pour JavaScript ici .. J'ai essayé de faire une feuille de personnage en acrobat auto-remplissage, et jusqu'à présent, j'ai eu un bon succès avec la plupart des choses, jusqu'à venir à comparer deux valeurs. MaxDex peut être un nombre entier supérieur à 0, et DexTempMod et DexMod peuvent être des entiers compris entre -10 et 10. Le code ci-dessous fonctionne très bien si dexTempMod et DexMod sont positifs - s'ils sont supérieurs à MaxDex, il générera MaxDex au lieu.Comparer des valeurs négatives dans Acrobat

Mais si DexTempMod ou DexMod sont des valeurs négatives, il sort toujours MaxDex, bien que les autres soient plus faibles. J'ai essayé de les analyser dans des chars après quelques recherches, en pensant qu'ils pourraient être des ficelles, mais ça ne marche toujours pas.

Si c'est juste une limitation d'Acrobat, c'est bien, mais je suis un peu perplexe.

if (this.getField("MaxDex").value == ""){if (this.getField("DEXTempMod").value == "") 
    {event.value = this.getField("DEXMod").value} 
    else {event.value = this.getField("DEXTempMod").value}; 
} 
else {if (Float.parseFloat(this.getField("MaxDex").value) < Float.parseFloat(this.getField("DEXTempMod").value) || Float.parseFloat(this.getField("DEXMod").value)) 
    {event.value = this.getField("MaxDex").value} 
    else {if (this.getField("DEXTempMod").value == "") 
     {event.value = this.getField("DEXMod").value} 
     else {event.value = this.getField("DEXTempMod").value};} 
} 

Répondre

0
  1. Vous n'avez pas besoin d'utiliser Float.parseFloat. Assurez-vous simplement que les champs sont formatés pour être des nombres dans les propriétés du champ.

  2. Il n'y a pas de comparaison après le || Dans votre instruction else else, toute valeur sera évaluée comme vraie dans votre instruction else car même un champ vide a une valeur.

+0

1. Merci! Édité cette partie - ils ne sont que des chiffres dans ces domaines. 2. AUSSI MERCI! Je devais juste mettre des parenthèses autour du DEXMod || Partie DEXTempMod et il a commencé à travailler. –