アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>

A 回答 (2件)

手元の環境ではそもそもaaa.phpに遷移しませんでした(IEとFirefoxで確認)。



Firefoxのエラーコンソールで確認したら「document.fm.operate is undefined」だそうです。この部分を消したら、$_GET['name']で取得出来ました。methodがget(未指定)なので$_POSTは空配列です。

提示されているソースと現象が不一致なので、これ以上は何とも・・・

この回答への補足

長い間、返信できずに申し訳ありませんでした。
上記プログラムに不備があったので、補足させていただきます。

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>

補足日時:2013/08/19 18:00
    • good
    • 0

いまのままだとPOSTではなくGETで渡るのでは?


また、$nameの初期値からPOSTを利用して書き換える記載がなければ
当然いつまでたっても初期値のままでしょう
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!