Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导轨-拆卸和#x27;数据确认';属性_Javascript_Jquery_Ruby On Rails_Dialog_Custom Data Attribute - Fatal编程技术网

Javascript 导轨-拆卸和#x27;数据确认';属性

Javascript 导轨-拆卸和#x27;数据确认';属性,javascript,jquery,ruby-on-rails,dialog,custom-data-attribute,Javascript,Jquery,Ruby On Rails,Dialog,Custom Data Attribute,Rails使用不引人注目的javascript在(提交)按钮上提示确认消息。这些消息存储在按钮/链接上的数据确认属性中 现在,假设您有时只想确认,就像在我的例子中,我只想在忙于编辑价格时提示一样,您显然可以使用javascript(jQuery)添加和删除这些属性 及 这是有效的,属性肯定是被附加和删除的(我仔细检查了)。但是我注意到,一旦消息显示一次,它也会在每次之后显示,即使在属性被删除之后也是如此。(我邀请任何人也尝试一下并分享您的结果?) 如何阻止这种情况发生?在您的情况下,我将覆盖jq

Rails使用不引人注目的javascript在(提交)按钮上提示确认消息。这些消息存储在按钮/链接上的
数据确认
属性中

现在,假设您有时只想确认,就像在我的例子中,我只想在忙于编辑价格时提示一样,您显然可以使用javascript(jQuery)添加和删除这些属性

这是有效的,属性肯定是被附加和删除的(我仔细检查了)。但是我注意到,一旦消息显示一次,它也会在每次之后显示,即使在属性被删除之后也是如此。(我邀请任何人也尝试一下并分享您的结果?)


如何阻止这种情况发生?

在您的情况下,我将覆盖jquery_ujs.js文件中的confirm方法,如下所示:

$.rails.confirm  = function(message){
 //your logic here : must return true or false, you can call js default confirm method
}

我就是这样处理的(似乎更简单):

轨道形式:

<%= @form_for(@obj) do |f| %>
    <%= f.text_field :attribute %><br />
    <%= f.radio_button :my_radio, false %> Finished <%= f.radio_button :my_radio, true %> Not yet !<br />
    <%= f.submit id: "submit" %>
<% end %>


完成了 还没有

在这种情况下,我宁愿自己实现确认消息,并在需要时准确显示它们。正如您所发现的,在不查看实现的情况下,重写javascript Rails这样的使用可能会出现问题,并且实现可能会在将来的版本中发生更改,并再次扰乱您的应用程序。也许此链接可以帮助您:
$.rails.confirm  = function(message){
 //your logic here : must return true or false, you can call js default confirm method
}
<%= @form_for(@obj) do |f| %>
    <%= f.text_field :attribute %><br />
    <%= f.radio_button :my_radio, false %> Finished <%= f.radio_button :my_radio, true %> Not yet !<br />
    <%= f.submit id: "submit" %>
<% end %>
<script>
    $("#submit").click(function() {
        if ($("#my_radio_false").is(':checked')) {
            return confirm("Are-you sure ?");
            return true;
        }
    });
</script>