CGI-BBS > データベース > 簡易データベース > CSVエディタでカンマ入力拒否


カレッヂ
カレッヂ


質問者 さくらい  投稿日 5/11(金) 00:00:02
グループで共有するデータベースの更新に、CSVエディタを共有しているのですが
「お年寄」の方は、何度注意してもカンマを入力して、データベースを壊してしまいます。
警告文のダイアログボックスやテロップを出しても効果がなく、
最近は、注意すると、「カンマが入力できるプログラムのほうが悪い」と逆切れ。
なんとかカンマの入力を阻止する方法はありませんか?

@check = grep(/[<>"]/,@BASE); を何とか改造できれば良いのですが・・・。
あるいは、JavaScriptか何かで入力フォームを制御する方法があればぜひ教えてください。
回答者 呑兵衛  [削除]  投稿日 5/11(金) 11:26:10
勉強中の呑兵衛といいます。

> @check = grep(/[<>"]/,@BASE); を何とか改造できれば良いのですが・・・。

, をコード変換すればよいのでは。たとえば
$_ =~ s/,/&#44;/g;
回答者 しあわせのツボ  [削除]  投稿日 5/11(金) 18:48:50
line 94で
$value =~ s/\,//g;
としているので、もともと入力されても弾くはずですが。
変ですね。
質問者 さくらい  [削除]  投稿日 5/11(金) 22:46:04
>line 94で
>$value =~ s/\,//g;
>としているので、もともと入力されても弾くはずですが。
>変ですね。

それ、確かにおっしゃるとおりですね。
カンマが入力されたらそれを消去する という意味ですよね。
ところが、これが全く機能していないんです。
そこで、ものは試しにとばかりに上記のカンマの前の\を消したら、
$value =~ s/,//g;
あーら、大成功してしまいました。無事解決です。
ヒントありがとうございました。

当初、カンマの前の\を消したらサーバエラーを起こすかなと思いましたが、
何も起こりませんでした。
ということは、プログラムのバグなのかもしれませんね。

このページは終了したので返信(回答)は書きこめません

Web裏技