-1

私はajax、json、jqueryを使用してコメントスクリプトに取り組んでいます。

最も難しい部分を除いて、ほとんどの作業を完了しました。ユーザーがX回のコメントをX回の時間で投稿すると、phpスクリプトは以下のJavaScriptコードに「キャプチャ」トリガーを返し、このユーザーが入力する必要があることを通知します。 DBにコメントを投稿する前のキャプチャコード

以下に、戻り値の3つのオプション(成功、エラー、キャプチャ)があります。

キャプチャが返されたときに、画面にポップアップダイアログを開いて、キャプチャスクリプトをロードしたいのですが、これまでのところ、これまでのところすべてが機能しています。

次に、キャプチャスクリプトを送信する必要があります。キャプチャ値だけでなく、ユーザーのコメントも送信する必要があるため、非表示のフォームフィールドにコメント値を入力するだけです。簡単なことですが、まだやっていません。これで、ユーザーが間違ったキャプチャ値を取得した場合、画面をリロードする必要がありますが、キャプチャ画面を再度ポップアップしても、フォーム値にコメントが非表示になります。そこで、トリッキーな部分が出てきます。

私の計画を読み、以下の私のコードを見た後、私は正しい方向に進んでいると思いますか?より良い方法について何か提案はありますか?

<script type="text/javascript">
$.ajax({
    type: "POST",
    url: "process.php",
    data: dataString,
    dataType: "json",
    success: function(data) {
       if (data.response === 'captcha') {
            //they are mass posting so we need to give them the captcha form
            // I can send the users sanitized comment through the captcha script somehow
            // 'data.comment' is holding the comment value
            jQuery.facebox(function() {
                // This opens up a facebox dialog on the screen and popolates it with the captcha image and script
                jQuery.get('captchabox.php', function(data) {
                    jQuery.facebox( '' + data + '')
                    data.comment;
                })
            })
       } else if (data.response === 'success') {
            // success append the sanitized-comment to the page
            $('#comments').prepend(data.comment);
       } else if (data.response === 'error') {
            // just an alert for testing purposes
            alert('sorry there was an error');
       };
    }
});
</script>

アップデート:

さらに考えた後、キャプチャにajaxも使用させる必要があるようです。そうしないと、ページのリロードが発生します=(

4

1 に答える 1

-1

私は最終的にこのようにしましたが、うまくいきました。Recaptcha、他の人がどのように関連していると考えていたのかは不明です

于 2009-08-25T00:24:38.597 に答える