• 締切済み

行数の制限

function check(){ txt = document.myFORM.text.value; n = txt.match(/\r/g); len = n.length + 1; if(len > 60){ alert(len+"行もあります。\n改行は60行までです。"); return false; }else{ return turn } } これだとウインドウを出るのですが、『制限』と言った形にはならずそのままプログラムが続行されます。 どうすればプログラムの終了が出来るのでしょうか? 初心者なんですみません^^;

みんなの回答

  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.3

横から失礼します submitボタンの onclick で check() をしているのが原因でしょう form の onsubmit で check() を評価するように変更が必要です print "\t<form action=./write.cgi method=post name=myFORM onsubmit='return check()'>"; print "\t<textarea name=text rows=11 cols=64></textarea><br>\n"; print "\t<input type=submit value=書き込み>"; // 現行ではhtmlソースが直出力になっていますが、htmlソース記述自体もjsで出力しないとoff 環境では容易に送信できてしまうと思いますので注意が必要かと思います

perl_cgi
質問者

お礼

おお!出来ました!ありがとうございます!! 一応CGIでもエラーを吐くようにしてあるので対策はしてあります!!

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.2

さっそくレスどうもです。 じゃ、このスクリプトを呼んでいるhtmlタグの部分ってどうなってます? それが分かると、わかるかもしれないです。

perl_cgi
質問者

お礼

#ありがとうございます。 print "<head>\n"; print "\t<script src=./system/js.js></script>\n"; print "\t<meta http-equiv=Content-Script-Type content=text/javascript>\n"; print "\t<meta http-equiv=Pragma content=no-cache>\n"; print "\t<meta http-equiv=Content-Type content=text/html; charset=Shift_JIS>\n"; print "</head>\n\n"; print "\t<form action=./write.cgi method=post name=myFORM>"; print "\t<textarea name=text rows=11 cols=64></textarea><br>\n"; print "\t<input type=submit onClick=check() value=書き込み>"; 一応こうなっております。お願いします!

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.1

こんにちは。 下から3行目 「return turn」→「return true;」 で どうでしょ? あと「ウインドウを出る」の意味がわからないのですが?

perl_cgi
質問者

お礼

立派なご返答ありがとうございます。 そうしてみましたが、無理でした・・・・・ 誤字でしたorz 『警告アラームは出るのですが』 と修正してください。 本当にすみませんでした

専門家に質問してみよう