我必须添加5个单独的标签,例如按类别,我们的选择,最受欢迎的最高评级,您在主页本身的收藏,并且每个标签都应该列出那个没有完整页面重新加载的产品.那是使用ajax,是否有可能在magento.
如果是这样,请指导我.
我正在尝试将JSON格式的数据从Javascript(使用Prototype)发布到Grails.我的Javascript代码是:
var JSONObject = new Object;
JSONObject.id = "23";
JSONObject.name = "Test 1";
JSONstring = JSON.stringify(JSONObject);
var url = "${createLink(controller:'testController', action:'receiveJson')}";
new Ajax.Request(url, {
method:'post',
contentType:'application/json',
parameters:JSONstring,
asynchronous:true,
onSuccess: function (req) {
sendInfoResponse(req.responseText);
}
});
Run Code Online (Sandbox Code Playgroud)
我的Grails控制器中的代码是:
def receiveJson = {
def json = request.JSON;
}
Run Code Online (Sandbox Code Playgroud)
但是,在我的测试中,'json'变量似乎是空的.如果有人能解释我做错了什么,我会非常感激.非常感谢.
背景:
我是Ruby on Rails开发人员.非常非常基本的javascript知识.
目标:
我想使用JavaScript来增强我的应用程序,我希望这样的框架能够遵循面向对象的编程实践.
框架应该易于学习:文档,代码示例,良好的设计.
该应用程序不需要RIA级别的JavaScript.
JavaScript速度并不是真正的问题,因为我将处理小数据集.
这是一个个人项目,所以没有时间限制.我准备学习什么是必要的.欢迎非流行的JS框架.我更感兴趣的是决定哪个框架看起来更有前途,以及开始学习它的方式比最常用的JS框架更有意义.
有可能的使用:
我研究了当前的JS框架生态系统.这些是我发现的更有趣的东西:
jQuery:是最受欢迎的,但从我所阅读的内容和我在代码示例中看到的内容来看,它看起来非常混乱.我想要清晰的代码.Ruby语法将是我的梦想.
Mootools:很好的文档.
RightJS:我最喜欢的是,他们声称有一个清晰的语法,支持面向对象的编程,文档似乎很小,但我认为这是因为框架本身并不那么大(如果我错了,请纠正我).
原型:我对这个感觉好坏参半.从我读到的,它是大而慢.我不关心速度(除非它非常慢).我关心语言的语法和未来.它有很好的文档.
根据我的标准(Promising,OOP,Syntax,Framework Design,Community),我应该开始学习哪一个?
我正在将应用程序从Rails 2升级到3并正在重新设计所有远程功能以使用Unobtrusive Javascript.我正在努力的是在UJS中处理ajax回调.
我发现有很多资源可以展示如何使用jQuery实现这些回调,但对于原型来说并不多.也许你可以帮我解决这个问题.
在Rails 2中,我有这个:
<% remote_form_for @foo, {:loading => "loading_function()", :complete => "complete_function()" } do |f| %>
...
<% end %>
Run Code Online (Sandbox Code Playgroud)
在Rails 3中,我有这个:
<%= form_for @foo, :remote => true do |f| %>
....
<% end %>
Run Code Online (Sandbox Code Playgroud)
从我到目前为止所知(可能是错误的),我需要将旧的加载/完成函数附加到表单,以便它们将被Rails.js中的handleRemote函数触发.我只是不确定该怎么做.
再一次,我在Prototype中这样做.因此,非常感谢特定于该框架的答案.
我想在magento产品管理后端的一些描述和元字段上添加简单的字符计数器功能.就像下面的截图一样.

我通过将简单的原型脚本添加到一个JS文件中来实现,该文件在magento admin HTML上加载.我选择了browser.js(/js/mage/adminhtml/browser.js),因为这是我在magento安装的后端区域加载的最后一个脚本.这是我的原型脚本代码块:
/* ADMIN CHAR COUNTER SCRIPT */
Event.observe(window, 'load', function() {
Element.insert( $('meta_title').up().next().down('span'), {
'after': "<div id='meta_title_counter'>Char count: <span id='meta_title_counter_num'>"+(69-$('meta_title').getValue().length)+"</span></div>"
});
Element.insert( $('meta_description').up().next().down('span'), {
'after': "<div id='meta_description_counter'>Char count: <span id='meta_description_counter_num'>"+(156-$('meta_description').getValue().length)+"</span></div>"
});
Element.insert( $('short_description').up().next().down('span'), {
'after': "<div id='short_description_counter'>Char count: <span id='short_description_counter_num'>"+$('short_description').getValue().length+"</span></div>"
});
Element.insert( $('description').up().next().down('span'), {
'after': "<div id='description_counter'>Char count: <span id='description_counter_num'>"+$('description').getValue().length+"</span></div>"
});
Event.observe('meta_title', 'keyup', function(event) {
$counter = 69-$('meta_title').getValue().length;
$("meta_title_counter_num").update($counter);
if($counter < 0){ $("meta_title_counter").setStyle({ color: 'red' }); }
else{ $("meta_title_counter").setStyle({ color: '#6F8992' }); }
});
Event.observe('meta_description', …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Prototype.js的Form.element.observer在Web应用程序上执行一些ajax.同一观察者应用于表格中的几个输入(不是全部).观察者触发一个ajax,它序列化表单,发送它,并最终用服务器中的新版本替换表单本身.
例如 - 说有一个国家选择.选择国家/地区后,表单将被序列化,发送到服务器,服务器将使用新表单(选择国家/地区)进行响应,并选择新的下拉列表以选择省,之前不可见.这个新表格取代旧表格,并设置了一组新的观察员(因此可以选择省份并选择城市等)
这适用于FF,Chrome和Safari.然而,在IE上,我在选择方面遇到了麻烦.一旦我点击一个选择,页面"永远循环"; 表格被要求和一遍又一遍地替换,永远.
我强烈怀疑这与Form.element.observer上的以下文档有关:
当表单字段的值(根据Form.Element.getValue)更改时,这会触发回调.(请注意,实际更改的值可能因浏览器而异,尤其是选择框.)
换句话说,在大多数浏览器中,当有人点击select的选项时,getValue属性会发生变化.我怀疑在IE上它的行为有所不同(只需将鼠标悬停在选项上,无需点击它们).
有人找到了一种方法来"观察"IE上的一个选择,其中的prototype.js只能在其中一个选项真正被选中时触发回调,就像其他浏览器一样吗?
我想改变的所有匹配==到===,但在发出命令:%s/==/===/g将现有的身份转换运营商从===到====.我尝试发出命令:%s/\<==\>/===/g但没有找到模式匹配.
我有一个包含不同产品的清单以及它们的详细信息.默认情况下隐藏详细信息.我想知道如何在悬停时显示列表元素的子元素的详细信息.这是测试它的链接:http://jsfiddle.net/CXrb2/1/
HTML:
<div id="cart-sidebar">
<li>Product 1 <div class="product-details">Productinfo 1</div></li>
<li>Product 2 <div class="product-details">Productinfo 2</div></li>
<li>Product 3 <div class="product-details">Productinfo 3</div></li>
</div>
Run Code Online (Sandbox Code Playgroud)
原型:
$$('.product-details').each(
function (e) {
e.hide();
}
);
$$('#cart-sidebar li').invoke('observe', 'mouseover', function(e) {
// any help would be great :)
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试将元素添加到元素列表的中间.
我尝试使用jQuery insertAfter方法和应用添加它isotope('reLayout').但是,这并没有真正起作用.
$('#insertAfter a').click(function() {
var $newEl = $(fakeElement.getGroup()).first();
$newEl.insertAfter($container.children().eq(3));
$container.isotope('reLayout');
return false;
});
Run Code Online (Sandbox Code Playgroud)
任何想法如何使其工作?谢谢
我正在尝试将文件上传到浏览器并使用JavaScript访问它.这可能吗?我环顾四周,似乎你可以使用闪光灯完成这个任务.我试图看看是否有HTML5 /纯JavaScript解决方案.
我正在尝试上传CSV文件(每行包含一个可能的数据库条目)并使用javascript动态验证它.如果它通过验证,那么我将向服务器发送POST以创建项目.