JQuery Uyarısı Problem?

4 Cevap php

Ben aşağıdaki kod sadece belirli sayfalarda görüntülemek için çalışıyorum ama ana sayfa veya bu kodu ben bazı hata oluştu "(` uyarısı aşağıdaki almak kullanmayan diğer sayfalardaki gibi bazı sayfaları aracılığıyla tıkladığınızda, lütfen deneyin ediyorum daha sonra tekrar ");.

Nasıl kod bu JQuery kodu kullanabilirsiniz ve hala kod işi yok sayfalarda uyarı kutusu görüntüler olabilir?

Ben JQuery, PHP & istimal MySQL.

Burada JQuery kodudur.

$(document).ready(function() {

    // get average rating
    getRatingText();
    // get average rating function
    function getRatingText(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "do=getavgrate",
            cache: false,
            async: false,
            success: function(result) {
                // add rating text
                $("#rating-text").text(result);
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });
    }

    // get current rating
    getRating();
    // get rating function
    function getRating(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "do=getrate",
            cache: false,
            async: false,
            success: function(result) {
                // apply star rating to element dynamically
                $("#current-rating").css({ width: "" + result + "%" });
                 // add rating text dynamically
                $("#rating-text").text(getRatingText());
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });
    }


    // link handler
    $('#ratelinks li a').click(function(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "rating="+$(this).text()+"&do=rate",
            cache: false,
            async: false,
            success: function(result) {
                // remove #ratelinks element to prevent another rate
                $("#ratelinks").remove();
                // get rating after click
                getRating();
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });

    });
});

4 Cevap

id="rating-text" elemanı olup olmadığını kontrol etmek eğer bir kullanarak, bu deneyin:

$(document).ready(function() {

    if($("#rating-text").length) {
      // get average rating
      getRatingText();
      // get current rating
      getRating();
    }
    // get average rating function
    function getRatingText(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "do=getavgrate",
            cache: false,
            async: false,
            success: function(result) {
                // add rating text
                $("#rating-text").text(result);
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });
    }

    function getRating(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "do=getrate",
            cache: false,
            async: false,
            success: function(result) {
                // apply star rating to element dynamically
                $("#current-rating").css({ width: "" + result + "%" });
                 // add rating text dynamically
                $("#rating-text").text(getRatingText());
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });
    }


    // link handler
    $('#ratelinks li a').click(function(){
        $.ajax({
            type: "GET",
            url: "../../../update.php",
            data: "rating="+$(this).text()+"&do=rate",
            cache: false,
            async: false,
            success: function(result) {
                // remove #ratelinks element to prevent another rate
                $("#ratelinks").remove();
                // get rating after click
                getRating();
            },
            error: function(result) {
                alert("some error occured, please try again later");
            }
        });

    });
});

Belli bir seçici tarafından tetiklenen değil çünkü, her belge için fonksiyonları çağırıyor. Neden sadece (getRating bu çağrıları kaldırmak) ve getRatingText () $ ('# ratelinks li a') dışında. () Tıklayın değil?

How can I have the code not display the alert box on pages that do not use this JQuery code and still have the code work?

Onlar sorun, bunu kullanabilirim. Bir seçenek işlev içinde her şeyi taşımak ve çalıştırmak için sadece bu koda ihtiyacınız sayfalarında javascript işlevini çağırmak için. Eğer bir php varsa kafana bazı parametre geçirmek ve bunu yalnızca ihtiyacınız işlevini çağırmak için gereken header.inc gibi bulunmaktadır.

Bu problem için farklı yaklaşımlar Tbere gibidir:

  1. Js dosyasına kod ekleyerek deneyin ve PHP yardımı ile <script src='' /> yoluyla bulunur.
  2. Bu komut dosyasını içermelidir her sayfa için bir anahtarı kullanın.
  3. update.php yerine göreli biri için mutlak bir url kullanın.

Ne var hayal için, 2 sayısını gerekir. Birkaç dakika içinde bu konuda kod yayınlayacağız.