0

重複の可能性:
参照: Javascript の PHP コードが機能しないのはなぜですか?

私は何日も研究してきましたが、私がする必要があることを可能にするものを見つけることができないようです.

私がやろうとしているのは、Javascript から別のファイルで Php 関数を呼び出すことです。連絡先フォームにはキャプチャがあり、フォームをチェックして何か見逃した場合にユーザーに警告する Javascript ファイルがあります。私の問題は、キャプチャを確認できないことです。

        <a href ="#!/Email_Check" class="button1" onclick="$(this).closest('form').submit()"onmouseover="" style="cursor: pointer;"><span></span><strong>Send</strong></a>

それはJavascriptとPhpを呼び出す私のリンクです

        var nameStr = safe_string(document.getElementById('cf_name').value);
        var emailStr = safe_string(document.getElementById('cf_email').value);
        var messageStr = safe_string(document.getElementById('cf_message').value);

        if(nameStr == "")
        document.getElementById('cf_nameCheck').value = "*Enter your name*";
        else
        document.getElementById('cf_nameCheck').value = "";

        if(emailStr == "" || emailStr.indexOf("@") == -1 || emailStr.indexOf(".") == -1)
        document.getElementById('cf_emailCheck').value = "*Enter a valid email*";
        else
        document.getElementById('cf_emailCheck').value = "";

        if(messageStr == "")
        document.getElementById('cf_messageCheck').value = "*Enter your message*";
        else
        document.getElementById('cf_messageCheck').value = "";  


        document.getElementById('cf_name').value = nameStr;
        document.getElementById('cf_email').value = emailStr;
        document.getElementById('cf_message').value = messageStr;

        if(document.getElementById('cf_nameCheck').value == "")
        if(document.getElementById('cf_emailCheck').value == "")
        if(document.getElementById('cf_messageCheck').value == "")
            open_page('#Email_Succesful');

これは、href がクリックされたときに呼び出される私の Javascript です。名前、電子メール、メッセージをチェックし、必要に応じて別のテキスト フィールドにエラー メッセージを表示します。

問題は、PHP を使用しないとキャプチャを確認できないことです。

        include_once $_SERVER['DOCUMENT_ROOT'] . '/securimage/securimage.php';

        $securimage = new Securimage();
        if ($securimage->check($_POST['captcha_code']))
        {
            $mail_status = mail($mail_to, $subject, $body_message, $headers);
        }

これは、キャプチャが有効かどうかを確認し、有効な場合は電子メールを実行する別のファイルにある私の Php スクリプトです。リンクの onClick イベントで呼び出されます。

それで... Javascriptでチェックを呼び出す方法を誰か教えてもらえますか? これにより、真/偽の値をチェックして、キャプチャに関する警告メッセージを表示するかどうかを決定できます。

そうでない場合、私がする必要があることを行うことができる他の方法はありますか? Phpで警告を表示しますか?解決策が Ajax などの他のものを使用することである場合は、必要なコードも投稿してください。Ajax やその他のいくつかのものも調べましたが、どちらも機能していないようです。

4

4 に答える 4

8

これを知る必要があります:

Javascript (指定されていない限り) は「クライアント側」の言語です。つまり、ページがコンパイルされてサーバーから送信された後、クライアントのブラウザーで実行されます。これは、コードに PHP/ASP が含まれておらず、HTML と Javascript のみが含まれていることを意味します。

PHP、ASP、JSP は、サーバー側でのみ実行されるサーバー側言語です。

あなたの質問に答えるために、Javascript を直接取得して PHP (サーバー側) 関数を呼び出すことはできませんが、PHP ページに投稿して、好きな関数を実行することはできます。

于 2013-01-16T08:39:38.040 に答える
4

これを試してください(phpドキュメントへのAjaxリクエスト)

于 2013-01-16T08:37:22.230 に答える
0

クライアントとサーバーの境界を抽象化するテクノロジーが存在します。Java RMIを使用したことがある場合は、次のいずれかを使用できます。

于 2013-01-16T08:51:34.237 に答える
0

JavaScript から任意の php 関数を呼び出すには、Ajax リクエストを送信する必要があります。Ajax リクエストは、関数から期待される計算値を常に返すことができます。

于 2013-01-16T08:54:17.317 に答える