質問
jqueryとphpを介してライトボックスにフォームデータを投稿しようとしています。合格する必要があるフィールド値は3つしかありません。送信時にエラーはありませんが、メールは送信されていません。私は(FireBugを介して)テキストボックスに入力されているメールアドレス(送信されるフォームが送信するフォーム)が「@」ではなく「%40」として送信されていることに気付きます。誰かがこれを経験したことがありますか、それともこの問題を修正する理由/方法を知っていますか?
私のjQuery機能は次のとおりです。
$('#notify form').submit(function(){
$.post('path/to/action/to/send/email', { id: $("#id").val(), client_reviews: $("#client_reviewers").val(), client_reviewers_msg: $("#client_reviewers_msg").val() }, function(){
tb_remove();
$('#client_reviewers').val('');
$('#client_reviewers_msg').val('');
});
return false;
});
どんな助けにもよろしくお願いします。 j
解決
あなたが見ているのはです URLエンコーディング.
基本的に、 @
URLの特別なキャラクターです。そのため、特別なキャラクターが入ったフィールドを提出するときは、逃げる必要があります。これは、フィールド値が実際にURLに表示されるGETリクエストで最も役立ちますが、POSTリクエストは同じルールに従います。
PHPでは、を使用できます urldecode これをデコードする機能。
他のヒント
%40は、 @記号のURL表現です。 PHPで電子メールをurldecryptする必要があります。
所属していません StackOverflow