カレッヂ |
質問者 よし
投稿日 2/13(火) 05:33:20
ツーショットチャットVer4のCGIで、 発言後、発言内容を自動消去したいのですが、 どの様にすればよろしいのでしょうか? 初期状態のCGIだと発言後、発言内容が残ったまま選択状態になります。 簡単に出来そうな気もするのですが、 初心者の私には、どうすれば良いのか分かりませんでした。 どなたか、ご存知の方、具体的にお教えください。 よろしくお願いいたします。m(_ _)mペコリ♪ |
回答者 まさ
[削除]
投稿日 2/13(火) 14:42:03
わたしならJavaScriptを使って以下のようにします。 print "<SCRIPT LANGUAGE=\"JavaScript\">\n"; print "<!--\n"; print "function autoclear() {\n"; print " self.document.send.chat.value = \"\";\n"; print " self.document.send.chat.focus();\n"; print "}\n"; print "// -->\n"; print "</SCRIPT>\n"; 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 print "<form method=... action=.... name=\"send\" ONSUBMIT=\"setTimeout("autoclear()",10)\">\n"; |
質問者 よし
[削除]
投稿日 2/13(火) 15:42:10
ご回答ありがとうございます。 お教えいただいたとおりやってみたのですが、 すみません、どうしてもできませんでした。(TT) ご指示くださった個所の原文は、 function send(){ document.InputForm.Value.select(); document.InputForm.Value.focus(); } 入力フォームのところは、 <form method=POST action="$ENV{'SCRIPT_NAME'}" target="Down" name="InputForm" onSubmit="sendTimer()"> となっており、 これを、ご指示にあうようにイロイロ書き換えてみましたが。 どうしてもうまくいきません。 選択状態になるか、入力した文字は消えずにそのままで選択もされないか どちらかになってしまいます。 どうか、JAVAの分からない私に、 もう一度ご指示いただけますでしょうか? |
回答者 まさ
[削除]
投稿日 2/13(火) 16:07:03
申し訳ない。抜けていました。 発言入力ボックスのところのnameをchatにしないといけませんでした。 print "発言:<input type=text name=\"chat\" size=\"60\">\n"; こんな感じですね。これで動きます。 |
質問者 よし
[削除]
投稿日 2/13(火) 19:34:05
ありがとうございました!!!!!! 数時間のプログラムとの格闘の末 ようやくできるようになりました!!!! 教えていただいたように、 chatっていう変数にかえると、 どこか別のロジックに脱線してしまうためか、 自動消去は出来るようになるのですが、 なぜか、発言が書きこまれないようになってしまったので、 教えていただいた事をもとに原文をなるべく変更しないで プログラムしたら成功しました。うれし〜 同じ疑問をおもちの初心者の方のためにまとまときます。 原文をもとに書きかえた個所は2ヶ所です。 JAVAのところを↓こうする。 function autoclear(){ document.InputForm.Value.value=""; document.InputForm.Value.focus(); } 入力フォームのをころを↓こうする。 <form method=POST action="$ENV{'SCRIPT_NAME'}" target="Down" name="InputForm" onSubmit="setTimeout("autoclear()",10)"> 以上で、出来るようになりました。 何ヶ月も心の片隅で出来るようにしたいなぁ〜と思っていたので、、 出来るようになってほんとうにうれしいです。 ありがとうございました。 |
回答者 まさ
[削除]
投稿日 2/13(火) 20:01:59
それでもできますね。 わたしのが発言表示できなかったのは、nameを変更したので$FORM{'chat'}、ここも このように変更する必要がありましたね。書き忘れてました。 まあ結果的にできたのでしたらそれでいいです。 |
回答者 初心者
[削除]
投稿日 2/7(金) 19:15:22
JAVAのところを↓こうする。 function autoclear(){ document.InputForm.Value.value=""; document.InputForm.Value.focus(); } 入力フォームのをころを↓こうする。 <form method=POST action="$ENV{'SCRIPT_NAME'}" target="Down" name="InputForm" onSubmit="setTimeout("autoclear()",10)"> 以上で、出来るようになりました。 ということはどこを置き換えればいいのでしょうか? JAVAのところとはどこでしょうか? <SCRIPT language="JavaScript"> <!-- function PageBack(){ history.back(); } //--> </SCRIPT> というところを <SCRIPT language="JavaScript"> function autoclear(){ document.InputForm.Value.value=""; document.InputForm.Value.focus(); } </SCRIPT> ってことでしょうか? <form method=POST action="$ENV{'SCRIPT_NAME'}" target="Down"> ここをすべて <form method=POST action="$ENV{'SCRIPT_NAME'}" target="Down" name="InputForm" onSubmit="setTimeout("autoclear()",10)"> にするってことでしょうか? |
返信(回答)する
Web裏技 |