2016-01-15 31 views
0

我有这样的代码:X编辑香菜AJAX调用两次

$.fn.editable.defaults.mode = 'inline'; 
var editable = $('.x-editable').editable({ 
    send: 'always', 
    validate: function() { 
     var form = editable.next().find('form'); 
     if (!form.parsley().isValid()) { 
      return true; 
     } 
    } 
}); 
editable.on('shown', function() { 
    var form = editable.next().find('form'); 
    form.parsley(); 
}); 

和HTML:

<a class="x-editable toggle-content editable editable-pre-wrapped editable-click" href="#" data-toggle-limit="110" data-toggle-limit-padding="10" data-custom-params="{&quot;inLaunchId&quot;:1489,&quot;inActivitySummaryId&quot;:71962900}" data-disabled="false" data-emptytext="Add a comment" data-escape="true" data-name="inComment" data-placeholder="" data-tpl="<textarea maxLength=&quot;4000&quot; data-parsley-pattern=&quot;^\d+$&quot; data-popover=&quot;<p>Max length: <b>4000</b></p>&quot;></textarea>" data-type="textarea" data-url="submitURL" data-value="text">text</a> 

和不明原因AJAX请求被发送两次,有人知道为什么吗?如何解决这个问题?这里是jsFiddle

回答

1

由于您使用可编辑的表单和parsley仅用于验证 - 快速修复将禁用由欧芹表单提交。在这种情况下 - 字段将通过引导可编辑提交。

$.fn.editable.defaults.mode = 'inline'; 
var editable = $('.x-editable').editable({ 
    send: 'always', 
    validate: function() { 
    var form = editable.next().find('form'); 
    if (!form.parsley().isValid()) { 
     return true; 
    } 
    } 
}); 
editable.on('shown', function() { 
    var form = editable.next().find('form'); 
    form.parsley().on('form:submit', function() { 
    return false; // Don't submit form 
    });; 
});