• 締切済み

テキストボックスの値を取得したい

PHP、JavaScriptのプログラムに関して質問します。 下記のように変数$nameに"名前"と初期値が入っていて、Web画面上で下記テキストボックスに "ありさ"と書き替えて、修正ボタンを押しても、$_POST["name"]が"名前"のままで変更されていません。"ありさ"をPHPで取得したいのですが、何がおかしいのでしょうか? function send(){ document.fm.action = "aaa.php"; document.fm.operate.value = "modify"; document.fm.submit(); } <form name="fm"> <input type="text" name="name" value="<?=$name?>"> <input id="btn" type="button" name="modify" value="修正" onClick="send()"> </form>

みんなの回答

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

手元の環境ではそもそもaaa.phpに遷移しませんでした(IEとFirefoxで確認)。 Firefoxのエラーコンソールで確認したら「document.fm.operate is undefined」だそうです。この部分を消したら、$_GET['name']で取得出来ました。methodがget(未指定)なので$_POSTは空配列です。 提示されているソースと現象が不一致なので、これ以上は何とも・・・

noname#191450
質問者

補足

長い間、返信できずに申し訳ありませんでした。 上記プログラムに不備があったので、補足させていただきます。 formの部分で method="post"をセットしているので、$_POST で受け取れると思っているのですが・・・ function send(){ document.fm.action = "aaa.php"; document.fm.submit(); } <form name="fm" method="post"> <input type="text" name="name" value="<?=$name?>"> <input id="btn" type="button" name="modify" value="修正" onClick="send()"> </form>

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

いまのままだとPOSTではなくGETで渡るのでは? また、$nameの初期値からPOSTを利用して書き換える記載がなければ 当然いつまでたっても初期値のままでしょう