我的一些Javascript代码行比编辑器窗口视图长.我最近升级到了Helios版本的Eclipse,并注意到在编辑了其中一条长行(我向右滚动)后,几秒钟后编辑器窗口将自动向左滚动到行的开头.它打破了我的注意力,这太烦人了!
有谁知道如何阻止这种行为?我一直在四处寻找,除了其他人因同样的问题而烦恼之外,还没有找到任何其他东西!
我不愿意打开自动换行并包装我的行:).
我正在制作JQuery Ajax帖子,并希望任何actionmessages,actionerrors并fielderrors在响应中添加到操作中(以JSON格式).
我添加了这个结果:
<result name="input" type="json">
<param name="ignoreHierarchy">false</param>
<param name="includeProperties">fieldErrors,actionErrors</param>
</result>
Run Code Online (Sandbox Code Playgroud)
到我的动作配置struts.xml.
我得到了:{"actionErrors":[],"fieldErrors":{}}尽管在值堆栈上存在字段错误,但作为响应返回.
如果我将结果配置更改为:
<result name="input" type="json">
<param name="ignoreHierarchy">false</param>
<param name="root">fieldErrors</param>
</result>
Run Code Online (Sandbox Code Playgroud)
JSON响应是我预期的::
{"thePropertyWithValidationError":["You must supply correct information."]}
如果可能的话,我真的希望响应中包含操作错误和字段错误.
有任何想法吗?非常感谢你提前!!
编辑:
我想我可能需要利用某种正则表达式......我试过:
<result name="input" type="json">
<param name="ignoreHierarchy">false</param>
<param name="includeProperties">fieldErrors\[\d+\],actionErrors\[\d+\]</param>
</result>
Run Code Online (Sandbox Code Playgroud)
结果相同:
{"actionErrors":[],"fieldErrors":{}}
Run Code Online (Sandbox Code Playgroud)
我还发现了这个错误报告,当我使用Struts v2.2.1时,这可能会导致我的问题.(v2.2.2尚未出局)
编辑#2:
也许JSONValidationInterceptor是我需要的......我似乎无法弄清楚如何将它与我的自定义JQuery Ajax帖子一起使用...
我正在使用json拦截器来填充我的属性 - 下面是我的动作配置:
<action name="MyAction" method="add" class="com.test.actions.MyAction">
<interceptor-ref name="json" />
<interceptor-ref name="jsonValidationWorkflowStack"/>
<interceptor-ref name="MyCustomInterceptor" />
<result name="success" type="json" /> …Run Code Online (Sandbox Code Playgroud) 我在页面上有大约400个元素,它们有点击事件(4个不同类型的按钮,每个按钮有100个实例,每个类型的点击事件执行相同的功能,但参数不同).
我需要尽可能减少对性能的任何影响.通过将点击事件单独绑定到每个(使用JQuery),我采取了什么样的性能(内存等bind())?onclick相反,在每个按钮上调用内联函数会更有效吗?
编辑以澄清:):
我实际上有一个表(使用JQGrid生成),每行有数据列,后跟4个图标'按钮'列 - 删除和其他三个使AJAX调用回服务器的业务函数:
|id|description|__more data_|_X__|_+__|____|____| ------------------------------------------------- | 1|___data____|____data____|icon|icon|icon|icon| | 2|___data____|____data____|icon|icon|icon|icon| | 3|___data____|____data____|icon|icon|icon|icon| | 4|___data____|____data____|icon|icon|icon|icon|
我正在使用JQGrid的自定义格式化程序(http://www.trirand.com/jqgridwsiki/doku.php?id=wiki:custom_formatter)在每行中构建图标"按钮"(我无法从服务器检索按钮HTML).
在我的自定义格式化程序函数中,我可以轻松地在内联中构建图标HTML和代码,onclick使用适当的参数调用相应的函数(来自该行中其他列的数据).我使用行列中的数据作为我的函数的参数.
function removeFormatter(cellvalue, options, rowObject) {
return "<img src='img/favoritesAdd.gif' onclick='remove(\"" + options.rowId + "\")' title='Remove' style='cursor:pointer' />";
}
Run Code Online (Sandbox Code Playgroud)
所以,我可以想到两个选项:
1)内联onclick,如上所述 -
或 -
2)delegate()(如下面的答案所述(非常感谢!))
data()在afterInsertRow JQGrid事件中将图标设置为其参数. delegate()处理程序应用于特定类的按钮(如下文所述@KenRedler) > $('#container').delegate('.your_buttons','click',function(e){
> e.preventDefault();
> var your_param = $(this).data('something'); // store your params in data, perhaps …Run Code Online (Sandbox Code Playgroud) 我可能会偏离正轨,但我想知道是否可以使用JQuery 预过滤器功能并在Ajax Success中分析响应数据,并根据我返回的JSON中某些元素的存在有条件地转发到error我的ajax调用中的事件处理程序(错误消息).
如果这是为页面中的任何ajax函数全局设置的话会很好.
也许这不是解决这个问题的最好方法; 如果有人有其他想法,请告诉我!
预滤器:
//only run prefilter on ajax calls expecting JSON back in response, would this
//be the right way to do this?
$.ajaxPrefilter( "json", function( options, originalOptions, jqXHR ) {
jqXHR.success(function(data, textStatus, jXHR) {
if( hasErrors(data) ) {
//forward to error event handler?
}
});
});
Run Code Online (Sandbox Code Playgroud)
Ajax调用:
$.ajax({
type: "POST",
data: {
theData: "someData"
},
url: theUrl,
dataType: 'json',
cache: false,
success: function (data, textStatus, jqXHR) {
//do stuff on …Run Code Online (Sandbox Code Playgroud) 我想从JQGrid拖动一行到文本输入字段,并从已删除的行添加列的文本到输入中文本的末尾.
显然这距离答案还有很长的路要走,但是在网格上拖动一行并设置了这一行(其中#inputTextField是'droppable'文本字段)会导致JavaScript错误this.p is undefined:
$("#searchResultsGrid").jqGrid('gridDnD',
{
connectWith: '#inputTextField"
}
);
Run Code Online (Sandbox Code Playgroud)
这是因为目标显然不是JQGrid并且没有this.p定义.我尝试了一些不同的东西......也许有一种方法可以让'滴滴'事件变成工作状态?非常感谢你的帮助:)
jqgrid ×3
jquery ×3
json ×2
ajax ×1
autoscroll ×1
eclipse ×1
editor ×1
extending ×1
javascript ×1
line ×1
long-integer ×1
onclick ×1
plugins ×1
resize ×1
struts2 ×1
validation ×1