javascriptを使ってセレクトボックスにonChangeを付けて、同期的に値を取得に成功しました。そしてその値をPHPで変数として保持することもできたのですが、その変数を条件式に入れるとうまく判定してくれません。
PHP
1<!DOCTYPE html> 2<html> 3<head> 4 <title>ユーザー編集画面</title> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf8"> 6 7 <script type="text/javascript" language="javascript"> 8 function onButtonClick() { 9 selindex = document.form1.Select1.value; 10 target = document.getElementById("output"); 11 target.innerHTML = selindex; 12 } 13 </script> 14</head> 15<body> 16<div> 17 18<h1>ユーザー編集</h1> 19<form name="form1"> 20<select class="select-box01" id="Select1" onChange="onButtonClick()"> 21 <option value="pass">パスワード変更</option> 22 <option value="mail">メールアドレス変更</option> 23 <option value="name">名前変更</option> 24</select> 25</form> 26 27<?php 28 $value = "<a id='output'>pass</a>"; 29 //echo "<h1>".$value."</h1>"; 30 31 echo "a".$value."b"; 32 if($value == "apassb"){ 33 echo "dfd"; 34 } 35 36 switch ($value) { 37 case 'pass': 38 39 echo "<input type='password' name='pass' placeholder='Password'/>"; 40 echo "<input type='password' name='repeat_pass' placeholder='Repeat Password'/>"; 41 42 break; 43 44 case 'mail': 45 46 echo "<input type='email' name='mail' placeholder='Email'>"; 47 48 break; 49 50 case 'name': 51 52 echo "<input type='text' name='last_name' placeholder='姓'/>"; 53 echo "<input type='text' name='first_name' placeholder='名'/>"; 54 55 break; 56 57 default:break; 58 } 59?> 60<form method='POST'> 61<input type="submit" name="create_user" class="login login-submit" value="変更"> 62</form> 63</div> 64</body> 65</html>
上記のソースではセレクトボックスの値を同期的に取得し、取得した値に応じて変更対象が変わるということをしているつもりです。ですが、switch文の条件式の判定がないので、取得した値の間にaとbを入れて確かめてみたのですが、最初の値がしっかりapassbとありました。なぜ値が合っているのにもかかわらず、条件式の判定がきかないかわかる方ご教授お願いします。
[補足]
なぜPOST送信を使わないのか??
→POST送信を使えば必ずsubmitボタンが必要だと考えています。セレクトボックスで選択してからボタンをわざわざ押すのは少々手間だし、面倒と感じたから、javascriptを使ってセレクトボックスの値を動的にとりたかった。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/19 11:07