4 返信 最新の回答 日時: Jun 1, 2006 5:38 PM ユーザー:(honey_pot)

    ページにまたがった同一名称のフォームの特定

      フォームオブジェクトで、複数のページに渡り同一の名称を付与した場合、
      ページの指定からページ配下の特定のフォームオブジェクトを特定し、制御することは可能でしょうか。

      例えば、
      var B1 = this.getField("01EB-1");
      B1.display = display.hidden;
      のスクリプトでは、
      複数ページにまたがる"01EB-1"なる名称のフォームが全て非表示になりますが、
      これを、カレントのページのフォームのみに対して制御したいのです。

      どなたか....
        • 1. Re: ページにまたがった同一名称のフォームの特定
          Level 1
          複数ある同一名称のフォームは、
          (位置情報は変わるとおもいますが)
          一個と同じ扱いになると思います。

          同一の名前で、複数の値、複数のステータスをもてるというのは矛盾することだと思います。

          x=1=2

          みたいな。

          個別に制御したい場合は、
          別の名前にする必要があると思います。
          • 2. Re: ページにまたがった同一名称のフォームの特定
            Level 1
            Acrobat 7.0 では、ボタンなどのフォームを次々に作成していくと、名前は自動的に連番になる。
            例えば、「Button1」「Button2」・・・という具合に。
            しかし、ユーザーが「Button1」といった同じ名前のフォームを作成することも可能である。

            以前のバージョンでは、同じ名前のフォーム名を作成しようとするとエラーメッセージが出て作成できなかったと記憶する。

            PDFで同一名のフォームを作成した場合、Acrobat(Adobe Reader)ではこれをどう区別しているのだろうか?

            [表示/ナビゲーションタブ/フィールド]を選択してみると、作成したフォーム名が確認できる。
            同じ名前だと「Button1#0」Button1#1」という感じの連番になっている(#の意味は「シャープ」ではなく「ナンバー」であろう)。おそらくは、Acrobatはこの#付きフォ ーム名で内部的な処理をしていると思われる。

            一方、Acrobat JavaScriptでフォーム(フィールド)を名前指定する場合、その機能は以前のままのようなので、「Button1」でしか指定できない。無理矢理に「Button1#0」で指定して も駄目のようだ。

            よって、Acrobat JavaScriptで同一名のフォーム(フィールド)を区別することはできないというのが私なりの結論。
            • 3. Re: ページにまたがった同一名称のフォームの特定
              Level 1
              私の #1 の投稿

              >同一の名前で、複数の値、複数のステータスをもてるというのは矛盾することだと思います。

              製品版Acrobat 7.0で
              実際に試してみましたら、ページごとにプロパティを変えることが出来ました。

              1ページ目だけ非表示にしたり、
              枠線の色や塗りつぶしの色を変えることが出来ました。
              これは複数のステータスをもてると言うことになると思います。
              訂正させて頂きます。

              ただ、入力できる値は一つだけのようです。

              でも、#2 brazil さんの投稿によると、
              結局ダメみたいですね・・・
              • 4. Re: ページにまたがった同一名称のフォームの特定
                Level 1
                habacchi(かもされました) 様
                brazil 様

                盛り上がって頂き、感謝に耐えません。
                本当にありがとうございました。

                面倒くさいですが、フォームオブジェクトの名称を変えることで対処することにします。
                (3000個あるのでとっても面倒です....トホホ)

                今後とも、よろしくお願い申し上げます。