- ベストアンサー
ラジオボタンとデキストボックスの組み合わせで連絡板
社内ネットワーク環境で、HTMLファイルを共有して連絡板として使用できないものかと考えております 具体的には、各人の名前の横に「社内・社外」をラジオボタン等で選択、テキストボックス内に帰社予定時間や訪問先等を記述したページを作成して、 離れた箇所にある社内のPC端末にて、各人が簡単にHTMLファイルを更新したり、確認するような使用方法ができれば…と願ってます 見た目的には思い通りの形式を作成したHTMLファイルはできたのですが、各人がラジオボタンの変更やテキストボックスの内容変更後に ページ更新する方法が思いつかないのです。 コマンドボタンのようなもので更新することは可能でしょうか? (BBSなどで書き込みした人が「書き込む」などコマンドボタンでページ更新するようなイメージです) わかりにくい質問で恐縮ですがご教授よろしくお願いいたします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
HTMLだけではできないことはご理解なさっていますか? PHPやCGIなどのサーバー側で処理するプログラムが必要です。 更新に関しては更新ボタン=submitをつけるか、 javascriptなどでonchangeしたときにsubmitするかなるかと思います。 例えば携帯からのアクセスだとjavascriptはつかえない場合が多いので 更新ボタンをつけておいたほうがよいですね <form> 田中の所在: <input type="radio" name="tanaka" value="shanai">社内 <input type="radio" name="tanaka" value="shagai">社外 <input type="submit" value="更新"> </form> <form> 田中の所在: <input type="radio" name="tanaka" value="shanai" onChange="this.form.submit()">社内 <input type="radio" name="tanaka" value="shagai" onChange="this.form.submit()">社外 </form>
その他の回答 (2)
- leap_day
- ベストアンサー率60% (338/561)
CGIのことググッて勉強できました? sample載せますので作成の参考にしてください(^^) 中身だけですのでheader,footer,errorなどは書いてないですので(><) 下準備にメモ帳開いて『山田花子<><><><>』のようにして社員の名簿を作っておいてください(data.datで保存) 分からないことがあれば新規質問すれば(古いと見られないかもしれないので)何方かが答えてくれると思いますよ あと携帯サイトは扱った事が無いのでそちらでも動くかは不安(--;) if($in{'mode'} eq "kinyuu") { &kinyuu; } elsif($in{'mode'} eq "kakikae") { &kakikae; } &html; sub html { &header; $td="td width='50'"; print "<table border='1'>\n"; open(IN,"./data.dat")|| &error("open error!"); @data=<IN>; close(IN); $i=0; foreach(@data) { ($name,$shozai,$jikan,$memo)=split(/<>/); if($jikan eq ""){ $jikan="----"; } if($memo eq "") { $memo="特にありません"; } print <<"EOM"; <tr><td> <form action="./test.cgi" method="post"> <input type="hidden" name="name" value="$name"> <input type="hidden" name="mode" value="kinyuu"> <input type="submit" value="内容変更"> </form> </td><$td>$name</td><$td>$shozai</td><$td>$jikan</td><td width="200">$memo</td></tr> EOM $i++; } &footer; exit; } sub kinyuu { &header; open(IN,"./data.dat")|| &error("open error!"); @data=<IN>; close(IN); foreach(@data) { ($name,$shozai,$jikan,$memo)=split(/<>/); if($in{'name'} eq "$name") {last; } } print <<"EOM"; <form action="./test.cgi" method="post"> <input type="hidden" name="name" value="$name"> <input type="hidden" name="mode" value="kakikae"> <table border="1"> <tr> <td>名前</td><td>$name</td> </tr><tr> <td>所在</td><td> <input type="radio" name="shozai" value="社内">社内 <input type="radio" name="shozai" value="社外">社外 <input type="radio" name="shozai" value="出張">出張 <input type="radio" name="shozai" value="帰宅">帰宅 </td> </tr><tr> <td>時間</td><td> <select name="jikan"> <option value="">時間を選択</option> EOM $i=1; for(1..24) { print "<option value='$i:00'>$i:00</option>\n"; $i++; } print <<"EOM"; </tr><tr> <td>メモ</td><td><input type="text" name="memo" size="40"></td> </tr><tr> <td colspan="2" align="center"><input type="submit" value="内容書き換え"></td> </tr></table> EOM &footer; exit; } sub kakikae { if($in{'shozai'} eq ""){ &error("所在が不明です"); } open(IN,"./data.dat")|| &error("open error!"); @data=<IN>; close(IN); foreach(@data) { ($name,$shozai,$jikan,$memo)=split(/<>/); if($in{'name'} eq "$name") { unshift(@new,"$name<>$in{'shozai'}<>$in{'jikan'}<>$in{'memo'}<>\n"); }else{ push(@new_data,"$_"); } } open(OUT,">./data.dat")|| &error("open error!"); print OUT @new; print OUT @new_data; close(OUT); &header; print <<"EOM"; 内容を書き換えました<br> <form action="./test.cgi" method="post"> <input type="submit" value="\表\示画面に"> </form> EOM &footer; exit; }
お礼
ググッてみましたが、cgiもphpも大枠のみを理解するだけでも大変で、 自作するには相当の知識が必要ということだけわかりました。 どうやら自分の当初の考えのように簡単ではないようですので 自身のスキルアップも含めて もう少し別の方法を考え直して見ます。 作成していただいたサンプルですがメモ帳で開いてみたところ、 文字化け等ありまして、当方の知識不足からでしょうが、 うまく開く事ができませんでした。 お手間を頂いたのにすみません
- MAN_MA_RUI
- ベストアンサー率41% (426/1024)
パスワード式の掲示板CGIをどこかから持ってきたほうがいいと思います。
お礼
通常の掲示板であればお教え頂いたような掲示板CGIを設置すれば、手っ取り早いのは判っているのですが、 考えてるイメージが、いわゆる掲示板のイメージとはちょっと違うものなので、質問してみました cgiを加工して、サーバー内のHTMLファイルに組み込めば、私の望んでいるものは作れそうなものなんでしょうか?
お礼
各記入者がサーバー内のファイルを更新しなければ、ならないのは わかっていたものの、それをどうしたら良いものかを 理解しておりませんでしたすみません。 HTMLだけではできないのですね cgiという言葉はBBSなどで目にしたことはあるものの 具体的にはどういうことかよくわかっておりません PHPとcgiを一先ずググってみます ありがとうございます