CGI-BBS > チャット > ツーショットチャット > Ver4で、発言後、発言内容を自動消去したい。


カレッヂ
カレッヂ


質問者 よし  投稿日 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(&quot;autoclear()&quot;,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(&quot;autoclear()&quot;,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(&quot;autoclear()&quot;,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(&quot;autoclear()&quot;,10)">
にするってことでしょうか?

返信(回答)する


Web裏技