アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。

タイトルのままなのですが、JavaScriptでtableタグのdisabled制御を行いたいのですがうまくできません。

例えば、テキストボックスの場合なら、
parent.fraXXX.txtXXX.disabled=true;
(フレーム区切りされている。制御をするのはボタンが押されたフレームとは別のフレームのテキストボックス。)
って、感じでできるのですが、tableタグだとうまくできません。
parent.fraXXX.tblXXX.disabledと書いても、parent.fraXXX.tblXXX自体で参照できずエラーになります。どう指定すればいいのでしょうか?そもそもできるのでしょうか?
ネットで探してみましたが、うまくいかずです…

かなり初心者な質問ですみません…未経験&突発な修正でまいっております。お助けください。

A 回答 (3件)

>table内部のinputタグが全て入力できない状態に


なるほど、やりたいことがわかりました。
そのtableを<form></form>で囲めば話は簡単です。
<form name="FORM1">
<table ID="TABLE_FORM">
<tr><td><input type="text" value="test1"></td></tr>
<tr><td><input type="text" value="test2"></td></tr>
</table>
</form>
の様になっている時

document.FORM1.disabled=true;

で、そのフォームの部分をdisableできます。
あくまで、tableでやりたいということであれば、
tableにID名を付けて

var table = document.getElementById("TABLE_FORM");
table.setAttribute('disabled',true,false)

のようにすればできます。
    • good
    • 1

No1さんのおっしゃる通り、定義のない属性に


JavaScriptで参照するのは無理かと思います。

行いたいことがフォーム全体の無効化ということでしたら
すべてのフォームオブジェクトに無効化の処理を行えば
いいと思います。

例はあくまで例なのでテーブル内のフォームを指定する
等はうまく対応してください。

function inputClose () {

  // フォームの要素数を取得
  var max = document.forms[0].length;

  // フォームの要素数分のループ
  for ( i = 0; i < max; i ++ ) {

   // フォームを無効化
   document.forms[0].elements[i].disabled = true;

  }

}


引数にtrueかfalseを持つようにしてdisabled属性をセットする
段階でそれをセットしてあげればボタンによって
全部を無効にする/全部を有効にするということも可能です。
    • good
    • 0

tableは、フォームではないので、disabled属性はないと思います。



入力不可にしたいというのがよくわかりません。
textarea等で<table>タグの入力チェックあるいは禁止がしたいということでしょうか?

この回答への補足

>BLUEPIXYさん

試しにtableタグにdisabledを書いて頂ければ、やりたいことはわかってもらえると思うのですが…

tableタグにdisabled属性をつけると、tableタグ内部のinputタグが全てdisabledの状態になります。つまり、table内部のinputタグが全て入力できない状態(無効化といってもかまいません)ですね。その状態にjavascriptを使ってしたいのですが…。

ちなみにhtmlレベルで、tableタグ内にdisabled属性を書くとそうなることは確認済みです。

よろしくお願いします。

補足日時:2005/01/05 15:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A