1

您好,我正在使用来自 javascript 教程的代码,效果很好.. 它是一个评级星系统,所以我可以询问我的用户,您在某事上的技能,他们可以使用这个评级系统“回答”,....

所以我需要“捕捉”那个值..(使用json?或者这就是我在这里读到的)最终将它插入数据库

我可以将这个值存储在 $_SESSION 上吗?.. 因为这就像我使用步骤公式一样好,....每个步骤都在会话中存储变量,所以在最后一步我使用 php 在 mysql 数据库中插入所有内容。

正如您将看到的那样,数据已准备好发送:D 那太好了,但是,我如何捕获它并将其存储在 $_SESSION 中。提前致谢!!

我还假设我可以分配一个 ID 或其他东西以从一页发送多个费率,

这没有在代码中指定,而且我实际上用 javascript 很糟糕..(这就是为什么我问 stackoverlflow 上的所有智慧人)

这是来自评级系统的代码http://reignwaterdesigns.com/ad/tidbits/rateme/

/*
Author: Addam M. Driver
Date: 10/31/2006
*/

var sMax;   // Isthe maximum number of stars
var holder; // Is the holding pattern for clicked state
var preSet; // Is the PreSet value onces a selection has been made
var rated;

// Rollover for image Stars //
function rating(num){
    sMax = 0;   // Isthe maximum number of stars
    for(n=0; n<num.parentNode.childNodes.length; n++){
        if(num.parentNode.childNodes[n].nodeName == "A"){
            sMax++; 
        }
    }

    if(!rated){
        s = num.id.replace("_", ''); // Get the selected star
        a = 0;
        for(i=1; i<=sMax; i++){     
            if(i<=s){
                document.getElementById("_"+i).className = "on";
                document.getElementById("rateStatus").innerHTML = num.title;    
                holder = a+1;
                a++;
            }else{
                document.getElementById("_"+i).className = "";
            }
        }
    }
}

// For when you roll out of the the whole thing //
function off(me){
    if(!rated){
        if(!preSet){    
            for(i=1; i<=sMax; i++){     
                document.getElementById("_"+i).className = "";
                document.getElementById("rateStatus").innerHTML = me.parentNode.title;
            }
        }else{
            rating(preSet);
            document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML;
        }
    }
}

// When you actually rate something //
function rateIt(me){
    if(!rated){
        document.getElementById("rateStatus").innerHTML = document.getElementById("ratingSaved").innerHTML + " :: "+me.title;
        preSet = me;
        rated=1;
        sendRate(me);
        rating(me);
    }
}

// Send the rating information somewhere using Ajax or something like that.
function sendRate(sel){
    alert("Your rating was: "+sel.title);
}
4

1 回答 1

1

用对php 脚本的 ajax 调用替换函数alert中的 。sendRate()为此,您需要使用 ajax 库(例如 jQuery)将值 POST 到您的服务器。(见http://api.jquery.com/jQuery.post/

例子:

$.post('/path/to/php', {rating: sel.title}, function (data) {
    alert('Saved, server responded with' + data);
});
于 2013-05-14T04:24:06.727 回答