0

サーバー側の検証などで値を再入力する目的で値が「固定」されるように、入力内で使用しているフォームがありvalue="<?php echo $_SESSION['myVar']; ?>"ます。私の質問は、実際にリセットボタン (type="reset") を作成する方法です。フォームをリセットし、保存された値を削除します。可能であればJavaScriptを使用しないソリューションを探しています! ありがとう!

形:

<ul>
 <li>
  <label class="label1" for="name"> Name: </label>
  <input class="input1" type="text" name="name" id="name"  maxlength="40" value="<?php echo $_SESSION['name']; ?>" />
 </li>
 <li>
  <label class="label1" for="email"> Email: </label>
  <input class="input1" type="text" name="email" id="email"  maxlength="40" value="<?php echo $_SESSION['email']; ?>" />
 </li>
 <li>
  <label class="label1" for="message"> Message: </label>
  <textarea class="flat input1" name="message" id="message" rows="5" cols="40"><?php echo $_SESSION['message']; ?></textarea>
 </li>
</ul>

フォームハンドラー:

//save user entered values
$_SESSION['name'] = trim($_POST['name']);
$_SESSION['email'] = trim($_POST['email']);
$_SESSION['message'] = trim($_POST['message']);
4

4 に答える 4

1

JavaScript が不要な場合は、ページをリロードする必要があります。このボタンを reset_session.php へのリンクにします。

$_SESSION['name'] = "";
$_SESSION['email'] = "";
$_SESSION['message'] = "";

次に、header() でフォームにリダイレクトします。ページにとどまりたい場合は、同じページ ( reset_session.php ) に ajax リクエストを送信してから、入力の値を更新できます。

于 2012-04-03T21:45:06.967 に答える
0

そのためには JavaScript を使用する必要があります。リセットは、マークアップが読み込まれたときにフォームが持っていた元の値に常にリセットされます。

于 2012-04-03T21:44:33.773 に答える
0

[リセット] ボタンは、フォームをvalue属性内の値にリセットします。以上です。これらの値を入力すると、常にこれらの値にリセットされます。

空白の値にリセットしたい場合は、それらの値を入力/事前入力しないでください。

于 2012-04-03T21:44:41.163 に答える
0

php のみを使用する場合は、次の方法で試すことができます: unset($_SESSION['myVar']);またはsession_destroy();

于 2012-04-03T21:46:02.333 に答える