終了

計算結果に応じてアラートメッセージを表示したいです。

Community Beginner ,
Feb 26, 2023 Feb 26, 2023

リンクをクリップボードにコピー

コピー完了

PDFフォームにて、計算結果が1〜12の場合以外、アラートメッセージを表示したいです。「テキストフィールドのプロパティ」の「検証」からフィールド値の範囲を指定できますが、アラートメッセージをカスタマイズしたいです。「カスタム検証スクリプトを実行」からJavaScriptで指定できるようですが、知識不足でわかりません。

以下を追記・添削いただけませんでしょうか?

尚、計算は「計算」の「簡略化したフィールド表記」で行っています。

 

if (number >= 13 || number <= 0) {

app.alert("確認してください"); }

キーワード
Acrobat SDK と JavaScript , PDF forms , PDF の編集と変換

表示

552

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines

correct answers 2 件の正解

ファン , Feb 26, 2023 Feb 26, 2023

わかりにくいところですよねぇAcrobatの…
基本的に『何か』が古いんですねよ…そう…何かが…苦笑
(最高益あげてる会社なのにねぇ…まだ言う…値上げをホント根に持ってるからね…)
(特に確定申告時期には身に染みるわ…値上げが…涙)
前置き(愚痴)が長くなりましたが

 

 

この
『計算』ですが、『どこの値?』を指定する必要があるのです
『フィールドの値』の部分がわかりやすいと思いますが
『+和』にすると『どこ』と『どこ』足すの?って事になりますよね

 

そう…どこの値?が必要なんです。
なのでこのケースは、2通りの方法があります。(もっとあるかな…)
A:アクションを起点に文書レベルのJavaScriptにアラートをファンクションで記述して呼び出す方法
B:計算のカスタム演算JavaScriptでアラートを読み出す方法があります。

簡単な方法はBです。

 

var strNo =  this.getField("ここにフォームの名前").value 
///これで、フォームの名前で指定した値を取得できますので
//あとはIF分で分岐すればOKです。

 

screencapture_3_720x374.png

 

 

 

 

 

 

 

 

 

 

フォームのポイントとサンプルを用意しました

参考にし

...

投票

翻訳

翻訳
ファン , Feb 27, 2023 Feb 27, 2023

自己レス

まぁ間違いでは無かったんだけど(言い訳…です)

var strNo = this.getField("ここにテキストフォームの名前").value

この部分は

event.value=ユーザーの入力イベントの結果=入力値なので

var strNo = event.value;

 今回のケースは
この記述が『より』正解でした
失礼しました

投票

翻訳

翻訳
ファン ,
Feb 26, 2023 Feb 26, 2023

リンクをクリップボードにコピー

コピー完了

わかりにくいところですよねぇAcrobatの…
基本的に『何か』が古いんですねよ…そう…何かが…苦笑
(最高益あげてる会社なのにねぇ…まだ言う…値上げをホント根に持ってるからね…)
(特に確定申告時期には身に染みるわ…値上げが…涙)
前置き(愚痴)が長くなりましたが

 

 

この
『計算』ですが、『どこの値?』を指定する必要があるのです
『フィールドの値』の部分がわかりやすいと思いますが
『+和』にすると『どこ』と『どこ』足すの?って事になりますよね

 

そう…どこの値?が必要なんです。
なのでこのケースは、2通りの方法があります。(もっとあるかな…)
A:アクションを起点に文書レベルのJavaScriptにアラートをファンクションで記述して呼び出す方法
B:計算のカスタム演算JavaScriptでアラートを読み出す方法があります。

簡単な方法はBです。

 

var strNo =  this.getField("ここにフォームの名前").value 
///これで、フォームの名前で指定した値を取得できますので
//あとはIF分で分岐すればOKです。

 

screencapture_3_720x374.png

 

 

 

 

 

 

 

 

 

 

フォームのポイントとサンプルを用意しました

参考にしてください♪
https://quicktimer.cocolog-nifty.com/icefloe/2023/02/post-e8a34f.html

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Feb 26, 2023 Feb 26, 2023

リンクをクリップボードにコピー

コピー完了

詳細なステップと画像でとても分かりやすい解説です!

Acrobatは他のソフトに比べ、カスタマイズ等のチュートリアルが少ないので苦戦していました…

大変助かりました。ありがとうございます!

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Feb 26, 2023 Feb 26, 2023

リンクをクリップボードにコピー

コピー完了

>チュートリアルが少ない
Acrobatのフォームは
ビジネスユースが中心なので、どうしても
業務上の…とかあるから、記事にしにくいんじゃないかな…と思います。
(関係ないか…な?)
ヒントの答え合わせ
値を0に戻す方法も掲載しておきました
参考にしてください

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Feb 27, 2023 Feb 27, 2023

リンクをクリップボードにコピー

コピー完了

自己レス

まぁ間違いでは無かったんだけど(言い訳…です)

var strNo = this.getField("ここにテキストフォームの名前").value

この部分は

event.value=ユーザーの入力イベントの結果=入力値なので

var strNo = event.value;

 今回のケースは
この記述が『より』正解でした
失礼しました

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
Community Beginner ,
Feb 28, 2023 Feb 28, 2023

リンクをクリップボードにコピー

コピー完了

答え合わせまでありがとうございます!

恥ずかしながら、JavaScriptに触れるのは初めてのため大変参考になりました。色々試してなんとか形になりそうです。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Feb 28, 2023 Feb 28, 2023

リンクをクリップボードにコピー

コピー完了

>なんとか形に
お力になれて何よりです
月曜の午前中から知人に電話で怒られた甲斐がありますわ…汗

AcrobatのJavascriptは癖が強いので、ビギナーにはちょっと厳しい面も多いかも?ですが
基本的な処理やら、If文やらは、世間のJavascriptと同じですから(まぁ出来ない事も多いのでアレなんだけども)
参考になる記事も多いと思います。
event.value

getField
これがわかれば…フォーム内の事は大抵処理できます。(言い過ぎか?)
頑張ってみてください♪

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Nov 29, 2023 Nov 29, 2023

リンクをクリップボードにコピー

コピー完了

Quick Timerさま

おかげさまでとてもわかりやすく、アラートメッセージを表示することができました。ありがとうございます。

 

便乗質問で恐縮ですが...

A(西暦;数値4桁を入力)

B(西暦;数値4桁を入力)

C=B-A(0未満、または11以上のときにエラーメッセージ表示)

の場合、A・Bが未入力の状態で、Cのデフォルト値をブランク(に見える)ようにすることがどうしてもできず、朝から頭を抱えています。

何かいい手はありますでしょうか?

ご教示くださいますようお願いいたします。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
ファン ,
Nov 29, 2023 Nov 29, 2023

リンクをクリップボードにコピー

コピー完了

AとBの値が未入力の場合に
計算結果が0になってエラーにって事ですよね?

一番簡単(と思われる)のは
Cの計算部分で

var strNoA = this.getField("A").value
var strNoB = this.getField("B").value
でAとBの値を取得して
numNoA = strNoA + 1
numNoB = strNoB + 1
両方の値に1足して
strNoA=nullの場合はエラー表示しない

strNoB=nullの場合はエラー表示しない

を追加すればいいだけでは?

でどうでしょう?

お試しください

参考まで

 

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines
New Here ,
Nov 29, 2023 Nov 29, 2023

リンクをクリップボードにコピー

コピー完了

最新

早速のご回答ありがとうございます。すごくうれしいです。

 

A・Bが未入力の状態のとき(PDFフォームを開いたとき)に、C欄が空欄である(空欄に見えるでも可)必要がありまして...

というのも計算式を含むPDFフォームを印刷して手書きで使用する方のために、デフォルト値ゼロを印刷しない(表示しない or 見えない)必要があり悩んでいました。

ご教示いただいたことを踏まえ、もう一度考えてみます。

JavaScript初学者で理解が遅くすみません。このたびはありがとうございます。

投票

翻訳

翻訳

レポート

レポート
コミュニティガイドライン
他のユーザーへの思いやりを持ち、敬意を払いましょう。コンテンツの出典を明記し、投稿する前に内容が重複していないか検索してください。 さらに詳しく
community guidelines