正如标题所述,我正在寻找一个标志脚本,解释如下:
它应该像任何视频网站的标志脚本一样:点击一次灰色的小标志,它就会变成彩色的,你不能再点击它。这应该在ajax中完成,因为我不希望我的用户仅仅因为在我的网站上标记项目的错误而重新加载他的页面(并重新启动所有活动(。
php不应该添加来自同一用户的多个标志-i,尽管如果它检查了一个cookie,如果没有在MySQL中设置->增量字段并设置cookie,如果设置->忽略,这将是一个好主意。
这真的很紧迫,因为我完全不懂ajax和Javascript,我需要在周二之前完成。。。
我需要这个的原因是,我真的很想知道它是如何完成的,因为我们在学校学习的一个项目有类似的东西,我的家庭作业是想一个解决方案,在不看初始源代码的情况下完成同样的事情。我想到了一个解决方案,但没有时间实施,因为本周和下一周,我都有很多考试,我真的不想错过任何。。。
提前感谢你给我的任何帮助!
干杯!
生成一个ajaxrequest,并让它来处理php,完成后将返回发送到页面。
我给你做了一个模板。我想你可以自己做PHP?
function setFlag(state){
var ajaxRequest; // The variable that makes Ajax possible!
//Set AjaxRequest for all Major browsers, nothing to do here, this is standard
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser is lame!");
return false;
}
}
}
// When the Ajax Request waits for php you get some status codes, everything is done when it reaches 4. Add your javascript events etc here...
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState < 4){
//document.getElementById('ajaxCatchbox').innerHTML = "Load...";
}
if(ajaxRequest.readyState == 4){
// Some Javascript to change your flag colour image
}
}
// this is here your php happens without page reload. (In the php file)
var queryString = "?state=" + state;
ajaxRequest.open("GET", "ThePhpFileThatDoesYourDatabaseHandling.php" + queryString, true);
ajaxRequest.send(null);
}
PhP会处理你的数据库,并将正确的var设置为1,这样你就知道点击了哪个标志。每次刷新页面时,都会使用此var来显示单击的标志。就在还没有点击标志的时候,您将添加这个函数,并在Javascript中动态更改它,因为此时您还没有重新加载。
我在函数中添加了一些类似state的内容,因为我想你可能想知道点击了哪个标志,但如果你可以添加ID,我们的标志号等等…你可以使用querystring将其发送到php。。。
Gr