INPUT TYPEを変更できるのはスタイルシートだけ?

[上に] [前に] [次に]
なごみ 2000/01/11(火) 14:59:06
<INPUT TYPE=text>をJavaScriptで<INPUT TYPE=hidden>に直したいのですが、スタイルシートでしか直せないのでしょうか?
教えて下さい〜

YUFU [E-Mail] [HomePage] 2000/01/11(火) 19:30:58
JavaScript でなければならないのでしょうか?
単に、手動で書き換えればいいだけのようなきもしますが……。

# 質問の意図がつかめませんでした。すみません。

みふね 2000/01/12(水) 10:21:00
この質問では、意味のわかる人いないと思います。
JavaScriptとはなにか?
スタイルシートとはないか?
ちゃんとわかってますか?

もっと何をしたいのか具体的に書きましょう。

なごみ 2000/01/12(水) 15:47:14
大変失礼致しました。
質問の仕方が雑でしたね。申し訳ありませんでした。
反省しております。

やりたいことは同じHTML内で参照の場合と修正の場合を作りたいということです。

例えば

<table border="1" cellspacing="0">
<tr><td>
<input type="text" name="name1" value="修正">
</td></tr>
</table>

と書いてあるところを、参照だけにしたいために

<table border="1" cellspacing="0">
<tr><td>
参照
</td></tr>
</table>

と<input type〜の部分を丸ごと入れ替えたいときなどは、どうしたらよいのでしょうという質問でした。

よろしくお願いします。

Mugi [E-Mail] [HomePage] 2000/01/12(水) 16:24:27
IEならouterHTMLでできますね。
document.all.tags("INPUT")["name1"].outerHTML="参照"

なごみ 2000/01/12(水) 16:50:34
Mugi さんありがとうございます。
IEならということは、NNではouterHTMLというようなものは無いということでしょうか?

Mugi [E-Mail] [HomePage] 2000/01/12(水) 17:50:46
普通は、layer&write()での書き替えで擬似的に似た動作をさせられますが、
たしか、layer内にフォームエレメントを置いた場合、動作がおかしかった気がします。

なごみ 2000/01/12(水) 21:51:35
Mugi さんありがとうございます。
難しいですね〜NNもIEと同じ関数を出してもらいたいものです。
別にHTMLを作った方が無難ですかね?
普通は皆さんはどうやってるんでしょう?

うぐいす 2000/01/13(木) 11:35:26
私でしたら、別HTMLをつくるか、違いが少ないならASPを使ったりします。
ただこれは必ずサーバーサイドの処理になりますので、
なごみさんが望んでいるものとは違うような気がします。
# クライアントサイドの処理を望んでいるように感じます。

修正→参照の切り替えのタイミングを教えていただいたら、もう少し説明できるかもしれません。
例えば、修正ボタンを押した時に入力ボックスを表示とか?

なごみ 2000/01/13(木) 13:50:51
うぐいす さんありがとうございます。
うぐいすさんの言う通り、とにかくサーバーの負荷を軽くすることが条件なんです。

修正や参照を選択するのは今の画面より一つ手前の画面のオプションボタンで選択します。

選択されたらボタンを押して、現在の画面を表示させます。
(この部分もできればCGIを呼びたくないんですけど、JavaScriptで画面同士のやり取りができないと聞いたものですから〜
ASPというものでは出来るのでしょうか?教えていただけると有り難いです)

現在の画面の仕様ですが、2フレームに別れており

フレーム1の実行はCGIで、あらかじめ作ってあるフレーム1のHTMLをOPENしてHiddenにvalue(修正or参照)を埋め込みます。その他の情報もHiddenのvalueに埋め込みます。

フレーム2は普通のHTMLで、ロードされたタイミングでフレーム1のHiddenのvalueを参照して修正か判断し、

修正の場合はフレーム1のその他のHiddenのvalueを参照してフレーム2の場所−Aの<INPUT TYPE="text"〜>のvalueにデータを挿入。

参照の場合はフレーム1のその他のHiddenのvalueを参照して、フレーム2の場所−Aにデータを直接書く

ということをしたいのです。。。

変なところ、こうした方が良い!というアドバイスよろしくお願いします!!

うぐいす 2000/01/13(木) 18:39:51
仕様を見せていただいた感じでは、ASPで可能です。
ただ、ASPはサーバーがWinNTでないと使えないらしいです。

JavaScriptでHTMLを書き出せば、出来ないこともないような気がします。
<script language="JavaScript">
<!--
  var str="";
  if(修正){
    str="<input type='text' name='aaa' value='"+データ+"'>";
  }
  else if(参照){
    str=データ;
  }
  document.write(str);
//-->
</script>
# 修正・参照は条件式、データは変数に置き換え
骨組みはこんな感じかな?
本当に基本部分だけですけど。

そんなに重たいHTMLでないのでしたら、2つ作った方が結果的にマシンに負荷をかけないような気がします。
# 可変の要素が多いほど、テストも大変になりますしね。

なごみ 2000/01/14(金) 09:17:51
うぐいす さん有り難うございます。

実は現在のテスト環境はWinNTなんですが、最終的にサーバーはUNIXになる予定なんです。ということはASPというものは使えないと考え他方がよさそうなんですね。勉強になります!

なるほど。JavaScriptで全部のHTMLを書きだすって手もありますね。
気がつきませんでした。そっかああああ。
部分的に入れることばかりを考えちゃっていました。
有り難うございました!!
早速やってみます〜

なごみ 2000/01/15(土) 19:39:39
[[解決]]
お返事が遅くなりました。
JavaScriptで全部のHTMLを書きだすという手でいくことにしました。
有り難うございました!

なごみ 2000/01/16(日) 09:34:49

一度解決済みにしましたが報告します。

IE5だと大丈夫だったのですが、NN4.0だと文字が化け化けでした。
NN4.06でやると正常に動作しました。
JavaScriptの本を見ましたが、古いバージョンだと正常に動作しないようです。あ〜でもよかった。使えないのかと思いました〜ホッ(-_-;)

なごみ 2000/01/16(日) 10:07:13
がが〜ん。
NN4.06でもNTはOKだけどwindowsだと化けてる。。。

なごみ 2000/01/16(日) 11:53:57
なんだかNN4.6にまで上げてもWin95は化け化けです。
どうして!?だめってこと!?それともHTMLが悪いのかしら?
。。。。

[上に] [前に] [次に]