プロが教えるわが家の防犯対策術!

400字以内の作文を打って送ってもらおうと思い、
入力フォームを作ろうとしたのですが、
どの本にも文字数制限の事が載っていなくて困っています。

どなたかご存じな方、お教え願えないでしょうか?
どうぞよろしくお願い致します。

A 回答 (6件)

送信しようとした際に文字数チェックを行うものです。


最大文字数を越えていた場合は、送信できないようになっています。

フォーム

<form action="***" method="post" onsubmit="return checkForm(this)">
<p><input type="submit" value="送信"></p>
<p><textarea name="input1"></textarea></p>
</form>


JavaScript

<script type="text/javascript>
<!--
function checkForm(obj) {
var maxLen = 400;// 最大文字数
if (obj.input1.value.length > maxLen) {
alert(maxLen + "文字以内で入力してください。");
return false;
}
else {
return true;
}
}
//-->
</script>


また、改行文字を無視するならこのようになります。

<script type="text/javascript>
<!--
function checkForm(obj) {
var maxLen = 400;// 最大文字数
if (obj.input1.value.replace(/\r|\n/g, "").length > maxLen) {
alert(maxLen + "文字以内で入力してください。");
return false;
}
else {
return true;
}
}
//-->
</script>


一応言っておくと、JavaScriptを無効にすれば何文字でも送信できるので、必ずCGI側でもチェックを行うようにしてください。
    • good
    • 0
この回答へのお礼

とても詳しい解説とソースをありがとうございます。
力不足なりに目指していた高き目標は、まさに、665さまが教えて下さった「最大文字数を越えていた場合は、送信できない」というものでしたが、 CGIのチェックをしなければならないのは…全くわからないので残念です。これからは CGIの勉強を少ししようと思います。

この場をおかりして、みなさん本当にどうもありがとうございました!

お礼日時:2005/08/03 00:24

syonepさんのようにHTMLでmaxlengthで制御するとよいと思います。


<input type="text" size="30" maxlength="400">

注意点として全角や半角、そして環境によってばらける、というのがありますが(参考URL)

参考URL:http://www.phoenix-c.or.jp/~zspc/cgi-bin/wwwlng. …
    • good
    • 0

syonepさんのようにHTMLでmaxlengthで制御するとよいと思います。


<input type="text" size="30" maxlength="400">

注意点として全角や半角、そして環境によってばらける、というのがありますが(参考URL)

参考URL:http://www.phoenix-c.or.jp/~zspc/cgi-bin/wwwlng. …
    • good
    • 0
この回答へのお礼

参考URLどうもありがとうございます。
CGIもASPも全く知識がないのですが、とりあえずみなさまがご助言してくださったMaxLengthをもう少し自分なりに調べて使ってみようと思っています。

お礼日時:2005/08/03 00:27

テキストエリアの文字数チェックはJavaScript側で行場合が多いです。



↓-----------------------------------------

<html>
<head>
<script language="javascript">
<!--
function checkLength() {
var intMaxLength = 400;
if (eval(document.form1.input1.value.length) > intMaxLength) {
alert(intMaxLength + "字以下で入力してください。");
document.form1.input1.focus();
}
}
-->
</script>
</head>
<body>
<form name="form1">
<textarea name="input1" rows="5" onblur="checkLength();"></textarea>
</form>
</body>
<html>
    • good
    • 0
この回答へのお礼

ソースを打っていただきまして感謝します!
入力フォームのかたちは、Perl(?)だったりCGIを使ったりいろいろあることがなんとなくわかってきてJavaScript で大丈夫なのかな? と思い始めていたので、安心しました。
どうもありがとうございました。

お礼日時:2005/08/03 00:07

作文なので、テキストエリアを使用しますよね。


↓これはどうでしょう。
http://www.openspc2.org/reibun/javascript/form_t …

参考URL:http://www.openspc2.org/reibun/javascript/form_t …
    • good
    • 0
この回答へのお礼

こんなHPがあるのですね。
初心者の私は、ちょっと難しいと思ってしまいましたが、とても参考になりました。
どうもありがとうございました☆

お礼日時:2005/08/02 23:57

<input type="text" max=800>


じゃだめですか?
    • good
    • 0
この回答へのお礼

お早い回答をどうもありがとうございました。
JavaScriptは初心者なので、助かりました。

お礼日時:2005/08/02 23:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!