php提交评级数据而不重新加载

Posted

技术标签:

【中文标题】php提交评级数据而不重新加载【英文标题】:php submit rating data without reload 【发布时间】:2012-04-09 19:32:34 【问题描述】:

我正在使用 joomla 模板,它使我能够对一些音乐专辑进行评分。 问题是每次我按评级星重新加载布局损坏的页面 我只需要提交评分结果而无需重新加载。 这是代码:

        if($album_id) 
            $image_attr = $image_attr_java;
            $return .= "<a href='".JURI::root(true)."/index.php?option=com_muscol&task=rate&album_id=$album_id&points=$i&type=album'>".Jhtml::image('components/com_muscol/assets/images/star' . $grey.$show_small. '.png' , "$i ".JText::_('out of')." 5" , $image_attr )."</a>";
         else 
            $return .= JHTML::image('components/com_muscol/assets/images/star' . $grey.$show_small. '.png' , "$points ".JText::_('out of')." 5" , $image_attr );
        
    
    return $return;

【问题讨论】:

你有javascript代码吗? 你可以使用 ajax 请求 onClick of the stars 上面有代码 您应该像这样在 joomla 中使用可用的组件/插件:aljextdev.com/en/news/1-joomla-15-extensions/… function show_stars($points,$admin = false,$album_id = false,$ajax=false,$small=false) 但我不知道怎么用 【参考方案1】:

您是否已经在使用 JavaScript 库?

如果你正在生成这样的 html:

<a class="vote" href="...">Up vote!</a>
<a class="vote" href="...">Down vote!</a>

例如,您正在使用 jQuery - 以下 sn-p:

$('a.vote').click(function(e) 
    $.get(this.attr('href'));
    return false;
);

会在不刷新页面的情况下调用您的服务器。这是最少的代码,但为您提供了一个起点。

如果您不使用 jQuery,当然也可以这样做,it's just much more verbose。

【讨论】:

以上是关于php提交评级数据而不重新加载的主要内容,如果未能解决你的问题,请参考以下文章

在浏览器中重新加载/刷新页面而不重新提交表单?

提交表单而不重新加载页面[重复]

如何避免在php表单提交中重新加载页面

我想提交表单而不重新加载页面并且没有 OK 消息 [关闭]

提交文本框的值而不重新加载页面

jQuery提交表单而不重新加载页面