付属の写真のようにエラーが出るようにしたいです。
提示したコードだけでは、エラーメッセージ文字が上の方に出てくるだけで、四角い図形も出てきません。
javascriptでエラーメッセージを出せれば、写真のようなになると思います。
そこでなのですが、
PHPのコードはそのまま崩さずjavascriptでも同じエラーメッセージ出すコードが書けません。どうコードを書いたら
よいでしょうか?
nameとquestionの2つフォームとがあります。
回答よろしくお願いいたします。
<?php
session_start();
$errors = array();
if(isset($_POST['submit'])) {
$plan = $_POST['plan'];
$name = $_POST['name'];
$question = $_POST['question'];
if($name === "") { $errors['name'] ="名前が入力されていません。 ";
}
if($question === "") { $errors['question'] ="お問い合わせ内容入力(150文字以内)が入力されていません。 ";
}
if(count($errors) ===
$_SESSION['name'] = $name;
$_SESSION['question'] = $question;
/* 確認画面の表示, */
header('Location:http://▼▼php');
exit();
}
}
if(isset($_GET['action']) && $_GET['action'] === 'edit'){
$name = $_SESSION['name'];
$question = $_SESSION['question'];
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta content="text/html; charset=utf-8" />
<title>お問い合わせ画面</title>
<style type="text/css">
/* 入力フォームの位置 */
.auto-style1 {
text-align: center;
}
</style>
<?php echo "<ul>";foreach($errors as $value) {
echo "<li>";
echo $value;
echo "</li>";
}
echo "</ul>";
?>
</head>
<body>
<form action="companyhp6form1.php" method="post">
<div class="auto-style1">
<p class="tel-titile">
名前:※
</p>
<input type="text" class="name" name="name" id="name" value="<?php if(isset($name)){ echo $name; } ?>" />
</div>
<div class="auto-style1">
<p class="tel-titile">
お問い合わせ内容入力(150文字):
</p>
<textarea name="question" class="question" id="question" cols="40" rows="10" placeholder="150文字以内で入力して下さい。"></textarea>
</div>
<div class="auto-style1">
<button type="submit" id="submit" name="submit" class="auto-style4">
送信</button>
</div>
</form>
</body>
<script src="main.js"></script>
</html>
No.1ベストアンサー
- 回答日時:
こんにちは
入力の有無のチェックを行いたいようですが、ご提示の内容はチェックの対象となる内容ではないですよね?
肝心の情報が欠如しているので、どのようにチェックするのかは回答しようがありませんね。
>PHPのコードはそのまま崩さず~~
PHPはよく知りませんけれど、
>if(count($errors) ===
って、どうみても尻切れトンボだし、head内に開始タグのないリストを出力してみたりと、ハチャメチャな気がしますけれど・・・
元のHTMLがどうになっているのかまったくわかりませんけれど、「入力の有無」のチェック程度であれば、最近のブラウザならスクリプトなどを使わなくても促せるUIにすることは可能です。
以下、ご参考にでもなれば。
<form action="#" method="post" style="display:inline-flex;flex-direction:column;">
<label>名 前 :
<input name="name" type="text" placeholder="お名前の入力" required />
</label>
<label>ふりがな:
<input name="kana" type="text" placeholder="ふりがなの入力" required />
</label>
<label>電話番号:
<input name="phone" type="tel" placeholder="電話番号の入力"
pattern="[0-9]{3}-[0-9]{3}-[0-9]{4}" required />
</label>
<label>メールアドレス:
<input name="mail" type="email" placeholder="メールアドレスの入力" required />
</label>
<label>年 代 :
<select name="age" required>
<option value="">--年代を選択--</option>
<option value="20代">20代</option>
<option value="30代">30代</option>
<option value="40代">40代</option>
</select>
</label>
<p><input name="submit" type="submit" value="送信" /></p>
</form>
※ どうしてもスクリプトを使いたいのであれば、submit時のイベント処理で、各値の存在をチェックしてメッセージを表示するなり、スクリプトからsubmitをするようにすれば良いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストエリアをenterキーでフ...
-
テキストボックスの値同士を比...
-
ラジオボタンでクリックした値...
-
jqueryでtextareaのcols、rows...
-
submitボタン押下時にPOSTされ...
-
【jQuery】input nameの文字列...
-
Javascriptでのbuttonのname属...
-
カーソルが自動的に移動する方法
-
JavaScriptにて動的に配列を作...
-
javascriptの値をformのinput h...
-
cookie使用時にundefinedと表示...
-
テキストボックスの入力をリセット
-
新しくフォルダを作成したい
-
return trueとreturn falseの用...
-
テキストボックス入力を半角英...
-
onClick="this.form.submit
-
<JavaScript>tableタグを入力不...
-
onchangeイベントを強制的に発...
-
追加ボタンを押した際に ok ボ...
-
正規表現で複数マッチ条件で悩...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【jQuery】input nameの文字列...
-
javascriptの値をformのinput h...
-
新しくフォルダを作成したい
-
Javascriptでのbuttonのname属...
-
ファイル選択ダイアログが表示...
-
出発駅A、到着駅Bを選択すると...
-
テキストボックスの入力をリセット
-
JavaScriptにて動的に配列を作...
-
submitボタン押下時にPOSTされ...
-
ボタンを押すとテキストボック...
-
ラジオボタンでクリックした値...
-
二つの入力欄に、同時に同じ文...
-
テキストボックスの値同士を比...
-
name属性のないformタグの、中...
-
ASP.NETでNAME属性を固定にしたい
-
複数のテキストフィールドを同...
-
フォームの一部をPOSTで送信で...
-
テキストエリアをenterキーでフ...
-
動的にTabindexの値を変えたい!
-
GETパラメータの内、空文字のク...
おすすめ情報