Rails使用不显眼的javascript在(submit)按钮上提示确认消息。这些消息存储在按钮/链接上的data-confirm属性中。
现在,假设您有时只想确认,在我的例子中,我只想在忙于编辑价格时提示,显然使用javascript (jQuery)添加和删除了这些属性。
$('.create-order').attr('data-confirm', "Warning: You are busy editing item prices and you haven't applied your changes yet. Continue?");和
$('.create-order').removeAttr('data-confirm');这是工作的,属性是,肯定是附加和删除的(我已经检查过了)。但是我注意到,一旦消息显示了一次,它也会在每次显示之后显示,即使在删除属性之后也是如此。(我也邀请任何人试一试,并分享你的成果?)
我怎么才能阻止这一切的发生?
发布于 2014-04-16 14:33:41
在您的示例中,我将重写来自文件的确认方法,如下所示:
$.rails.confirm = function(message){
//your logic here : must return true or false, you can call js default confirm method
}发布于 2017-05-29 20:53:32
我就是这样处理的(似乎更简单):
Rails形式:
<%= @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 %>和Jquery:
<script>
$("#submit").click(function() {
if ($("#my_radio_false").is(':checked')) {
return confirm("Are-you sure ?");
return true;
}
});
</script>您可以在这里测试它:
$("#submit").click(function() {
if ($("#my_radio_false").is(':checked')) {
return confirm("Are you sure ?");
return true;
}
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<input type="text" /><br />
<input value="true" name="analysis[is_analysed]" id="my_radio_true" type="radio"> Finished
<input value="false" name="analysis[is_analysed]" id="my_radio_false" type="radio" checked="checked"> Not Yet !<br />
<input name="commit" value="Test it !" id="submit" type="submit">
</form>
希望这有帮助
https://stackoverflow.com/questions/23110648
复制相似问题