2012-03-28 5 views
0

に、私は元のためのワードプレスのサイトパスの問題、wordpressのサイト

を持って、www.test.com

mythemeフォルダのスクリプトフォルダ内のjsファイル(forms.js)があります。

すなわち(テーマ/ mytheme /スクリプト/ forms.js)

mail.phpページがmythemeフォルダ内にあり

すなわち(テーマ/ mytheme/mail.php)

には、以下のforms.jsの内容である

function submitFormToEmail() 
{ 

    var xmlhttp; 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
    xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     //document.getElementById("results").innerHTML=xmlhttp.responseText; 
     alert("Form received, thank you!"); 
     } 
     } 
     xmlhttp.open("GET","/mail.php",true); 
    xmlhttp.send(); 

} 
我々はページ で画像をクリックすると3210

は、私は、 "submitFormToEmail" と呼びます* www.test.com/hello_test * "hello_test" ページがテーマ/ mytheme /にある

しかし、mail.phpは機能しません。それはhttp://www.test.com/mail.phpでmail.phpファイルを探します/mail.phpを呼び出す

+0

あなたのインデントスタイルは本当に恐ろしいです。 – ThiefMaster

+0

私の質問は明確ではありませんか? – Linto

答えて

0

を動作するように

は、我々が機能「submitFormToEmail」でmail.phpのパスを設定することができますどのように、私を知ってみましょう。ちょうどパスを修正?

javascriptファイルに正しいパスを直接入力するか、phpを使用してget_bloginfoを使用して動的に取得してください。これを行うにはいくつかの方法がありますが、おそらく最も良い方法は、URLを含むページに隠し要素を作成してから、Ajaxリクエストを作成するときにこれを取得することです。それ以外の場合は、jsファイルを解析してそこに組み込むためにphpを設定する必要があります。私には良い方法のように見えません。

get_bloginfo('template_url'); 
+0

多分、彼は隠れた入力を作成しそこから呼び出すことができます... –

+0

@mrtshermanあなたはhttp://www.test.com/wp-content/themes/mytheme/mail.phpのような完全なパスを与えることを意味します – Linto

+0

@Linto - はい、そのような。 – mrtsherman