1

ユーザーがフォームフィールドに電子メールを書き込んでいるときに、Gravatarの自動読み込みを作成しようとしています。今、私はphp関数を持っています。これは、必要なパラメーターを含むGravatar URLを生成し、Webサイト全体で機能します。

ここで、ユーザーが有効な電子メールを入力したら、jQueryを呼び出す必要があります。

image.attr("src", "<?=$this->Gravatar(" + input.attr('value') + ");?>");

しかし、これはこのパラメーターをPHP関数に渡すことは可能ですか?

4

2 に答える 2

4

ajax()jQuery の機能が必要になります。JavaScript では、それを予期している外部 PHP スクリプトへの値を確認する必要があります。

jQuery:

$('.email').keyup(function() {
   $.ajax({
     type: "POST",
     url: "/path/to/your/script.php",
     data: { email: this.value }
   }).done(function( data ) {
     alert( data );
   });
});

PHP:

if (isset($_POST['email'])) {

    // DB call - you'll need to replace with your own functionality
    // Make sure you sanitize input

    if (check_record_exists($_POST['email'])) {
       echo 'This e-mail is already being used';
    } else {
       echo 'This e-mail is fine';
    }
} else {
   echo 'No e-mail specified';
}
于 2013-01-20T12:17:01.123 に答える
0

私がよく理解した場合、あなたは次のことをしたいと思います:

  • ユーザーは有効な電子メールを入力します
  • extrat リクエストを行わずに PHP 関数から Gravatar を取得する

サーバーへのリクエストなしでこれを実際に実行することはできませんが、より簡単な方法を作ることができます

PHP 関数を呼び出すゲートウェイ スクリプトを準備し、get を使用してパラメーターを送信すると、次のようになります。

http://YOUR-FULL-URL/getgravatar?email=use-email@example.com

ユーザーがメールを入力するよりも、この方法で取得できます

image.attr("src", "http://YOUR-FULL-URL/getgravatar?email=" + input.val() );

そして、直接のAJAX呼び出しでAjaxを使用しないようにします

于 2013-01-20T12:23:53.727 に答える