PHPでページング機能を作ることが出来たのですが、
テキスト・タイプのフォームを下記のようにすると、
<input type="text" size="5" name="page" value="">
フィールドの中に表示したいページの数字を入力して
フォームを送信するとそのページへ移動するという仕組みで、
ここまでは問題なく出来たのですが、
実際のページ数以上の数字を入力した時に
エラー文をポップアップ表示させたいのです。
例えば、実際1ページしかないのに、フィールドの中に2を入力して
送信すると、エラー文が出てくるという感じです。
送信ボタンにOnClickなどでJavaScriptを呼び出すようにし、
入力されたページ番号が適正かどうかのチェックを行い、
適正であればそのまま送信処理、不正であればアラートを出す
という仕組みなのは大体分かりますが、
余りJavaScriptに詳しくないので、
どんなコードを作成すれば良いのか分かりません。
何方か、サンプルコードなど教えて頂けたら大変助かります。
お手数をおかけしますが、どうぞ宜しく御願いします。
No.1
- 回答日時:
<html>
<body>
<form action="test1.html">
<input type="text" size="5" name="page" value="" onChange="
var v=this.value;
if(!v.match(/^\d$/))alert('不正な文字');
if(v<0 || 5<v) alert('範囲外です');
"><br />
<input type="submit" value="go" onClick="chk()?true:false">
</form>
<script>
function chk(){
v=document.getElementsByName('page')[0].value;
if(v.match(/^\d$/) && 0<v && v<6) return true;
alert('不正な値です');
return false;
}
</script>
</body>
</html>
この回答への補足
_pipi_さま、早速の御回答どうも有難うございます。
下記のようにスクリプトの中にPHPコードをいれたのですが、
例えば、そこには1ページしかページ数がないとして、
2以上の数字を入れて送信ボタンをクリックすると
「範囲外です」というアラート・メッセージを出すのは成功したのですが、
同じ数字「1」や「0」の数字、空文字、などを入れて送信ボタンを押すと、
「不正な値です」というアラート・メッセージを出してから
ページがリロードします。
そのメッセージを出した後、何故だか、2以上のどんな数字を入れても
同じ「不正な値です」というアラート・メッセージを出してから
ページがリロード(その数字のページを表示しようとする)してます。
スクリプトの中にあるPHPコードの $maxPage は
その表示されてるページの総ページ数です。
お忙しい中すみません、
お手数ですが、教えて頂けると大変助かります。
宜しく御願いします。
<form action="<?=$_SERVER['PHP_SELF'] ?>" method="get">
<input type="text" size="5" name="page" value="" onChange="
var v=this.value;
if(!v.match(/^\d$/))alert('不正な文字');
if(v<0 || <? echo $maxPage; ?><v) alert('範囲外です');">
<input type="image" value="submit" src="images/go.jpg" onClick="chk()?true:false">
</form>
<script>
function chk(){
v=document.getElementsByName('page')[0].value;
if(v.match(/^\d$/) && 0<v && v<<? echo $maxPage; ?>) return true;
alert('Invalid');
return false;
}
</script>
No.2ベストアンサー
- 回答日時:
#1の方のとは全然違いますが
こんな感じでいけるんじゃないかと思います・・・・・
<html>
<head>
<script type="text/javascript">
MaxPage=<? echo $maxPage; ?>;
function check(){
obj=document.forms[0].elements["page"];
if(obj.value==""){
alert("数字を入力してください!!");
return false;
}else if(isNaN(obj.value)){
alert("数字を入力してください!!");
return false;
}else if(obj.value<=0||obj.value>MaxPage){
alert("1から"+MaxPage+"までの整数を入力して下さい");
return false;
}else{
return true
}
}
</script>
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF'] ?>" method="get" onsubmit="return check()">
<input type="text" size="5" name="page" value="" />
<input type="image" src="images/go.jpg" alt="送信" />
</form>
</body>
</html>
.
arenani_sorenaniさま、
早速御回答して頂きどうも有難うございます。
arenani_sorenaniさまの教えて頂いたスクリプトで
問題が解決致しました。
また何かありましたらその時はどうぞ宜しく御願い致します。
どうも有難うございました。
No.3
- 回答日時:
ごめん!でかけなきゃならなくて・・・
<input type="image" value="submit" src="images/go.jpg" onClick="chk()?true:false">
じゃ飛べないかもよ?
chk()でおOKならその中で飛ばしては?
document.formname.submit();
formname はフォームの名前、省略されてるみたいだけどね。
ごめん!本当に時間が無い!
_pipi_さま、
お忙しい中又御回答して頂きどうも有り難うございます。
お蔭様で問題が解決致しました。
又機会がありましたらその時はどうぞ宜しく御願い致します。
どうも有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
COBOLの数字チェック
-
未選択のプルダウンメニューを...
-
チェックボックスの有無判定
-
未入力のラジオボタンに、alert...
-
度胸試しのJavaScript
-
ランダムに問題を出すプログラム
-
テキストボックスに数字しか入...
-
ピリオド区切りで 4桁.2桁.2桁 ...
-
追加ボタンを押した際に ok ボ...
-
チェックボックスのON/OFFでVal...
-
<form action="#">の意味とは?
-
jQuery セレクトボックスで選択...
-
フォームが空欄の時にフォーム...
-
【jQuery】input nameの文字列...
-
新しくフォルダを作成したい
-
javascriptの値をformのinput h...
-
マイナスなら赤字で表示したい...
-
チェックボックスの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
JavaScriptde途中で、「exit」...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
チェックボックスの有無判定
-
フォームの入力チェックをする...
-
Visual Studioのデザインでの非...
-
Tabキーでのカーソルの移動...
-
ツリービューのチェックボック...
-
ドロップダウンリストボックス...
-
コピペを禁止するtextarea
-
ラジオボタンのNullチェック
-
未入力のラジオボタンに、alert...
-
form の onSubmit がコールされ...
-
分岐数といえば
-
JSのみで入力→確認→メールで送...
-
JavaScript ログアウト処理
-
TEXTAREAに入力した改行コード...
-
リロードしないようにするには
おすすめ情報