-4

質問全体を必ずお読みください。ここには 2 つの質問があります。

また、注意してください:私は ajax が初めてで、自分が何をしているのかわかりません。Jquerys Ajax のドキュメントを読みましたが、何をすべきかわかりません。

質問1

は最近、これを行う方法について質問しましたが、Ajax に関する核となる質問には誰も答えませんでした。それらはすべて HTML に重点を置いていたので、今回はもっと前に進みます。

次の要素に対して次の ajax 関数があります。

<label class="checkbox">
    <input type="checkbox" name="aisis_options[package_Aisis-Related-Posts-Package-master]" 
    value="package_Aisis-Related-Posts-Package-master" checked=""> 
        Aisis-Related-Posts-Package-master <a href="#">(Disable)</a>
</label>


(function($){   
    $(document).ready(function(){
        $('a').click(function(){
          var el = $(this).prev('input[type="checkbox"]');
          if(el.is(':checked')){
               el.prop('checked',false);   
          }
          $.ajax({
              url  : /var/www/wordpress/wp-content/themes/Aisis-Framework/CoreTheme/AdminPanel/Template/Helper/UncheckPackageThemeHelper.php,
              type : 'GET',
              data : { 'element_name' : el.prop('name') }       
          });
        });
    }); 
 })(jQuery);

持っていると思うかどうかはわかりませんがhttp://localhost/path/to/class、次のように言っておかしくなります:

Uncaught SyntaxError: Invalid flags supplied to RegExp constructor 'www' admin.php?page=aisis-core-upload:239

では、これを設定する適切な方法は何ですか?

質問2

上記の Ajax は、それらがフォーム送信であることを前提としていますが、チェックボックスの横にある「無効化」リンクを見ると、フォーム送信要素ではありません。では、フォームを送信せずに要素名をクラスに渡し、クラスに名前をエコーアウトさせるにはどうすればよいですか?

これは私のクラスがどのように見えるかです:

class CoreTheme_AdminPanel_Template_Helper_UncheckPackageThemeHelper{

    private $_element_name = null;

    public function __construct(){

        if(isset($_GET['element_name'])){
            $this->_element_name = $_GET['element_name'];
            echo $this->_element_name;
        }
    }
}

要素名をエコーし​​ていることがわかります。今は GET を使用しており、Ajax では GET 要求を示していますが、そうではありません。私はいかなる種類のフォームも送信していません。フォームを送信するつもりはありません。リンクをクリックし、チェックボックスをオフにして、その要素の名前をクラスに渡し、名前をエコーアウトしたいだけです。

それ、どうやったら出来るの?

4

1 に答える 1

0

最初の質問の理由は、/var/wwwwww フラグ付きの正規表現 /var/ であり、通常のフラグは gim です。そのパスを文字列として配置する必要があります。

url  : "/var/www/wordpress/wp-content/themes/Aisis-Framework/CoreTheme/AdminPanel/Template/Helper/UncheckPackageThemeHelper.php",

おそらく、ルートディレクトリの場所のみを配置する"/wordpress/wp-content/"か、場所に応じて配置する必要があります。"/wp-content/"

2 番目の質問: ajax でデータを使用して $_GET を送信し、php からエコー値を取得するには、コールバック関数を追加する必要があります。

      $.ajax({
          url  : "/wp-content/themes/Aisis-Framework/CoreTheme/AdminPanel/Template/Helper/UncheckPackageThemeHelper.php",
          type : 'GET',
          data : { 'element_name' : el.prop('name') },
          success: function(result) {
              alert(result);
          }     
      });
于 2013-08-11T17:49:16.207 に答える