2013-05-18 57 views
0

我正在研究一个网页应用程序中的删除功能,点击一个按钮将删除我的数据库中的一行。这是非常简单的,它的工作原理,但我希望用户能够在提交表单之前先确认删除。第二次点击按钮发送表单?

下面是形式的标记,因为它现在是:

echo '<li class="fave-item">'; 
echo '<div class="tasted-this box-center">'; 
echo '<form class="delete-fave">'; 
echo '<input type="hidden" name="user_id" value="'.$faves_result['user_id'].'" />'; 
echo '<input type="hidden" name="beer_id" value="'.$faves_result['beer_id'].'" />'; 
echo '<button class="icon delete" data-icon="x" />'; 
echo '</form>'; 
echo '</div>'; 
echo '</li>'; 

而这里的AJAX提交闪光功能:

$('.delete-fave').on('submit', function(){ 
    $.ajax({ 
    type: "POST", 
    url: "deletefave.php", 
    data: $(this).serialize(), 
    success: $.proxy(function(json) { 
     $(this).closest('li.fave-item').remove(); 
    },this) 
    }); 
    return false; 
}); 

这是我想之前提交发生:

$('button.delete').click(function(){ 
    $(this).parent().addClass('delete-fave'); 
    $(this).addClass('ready'); 
    return false;  
}); 

当我测试这个时,我从窗体中移除了这个类来实现这个事件顺序:

  1. 点击“button.delete”添加类“中删除,最喜欢”形成(使它活动)
  2. “button.delete”得到一个“准备好”级
  3. 按钮再次单击用“准备好“类提交表单。

我还没有能够合并这些功能,所以我希望你能帮助我!

回答

0

$('.delete-fave').on('submit'...函数是在将类添加到button.delete父项之前定义的,因此它不起作用。

为了让它工作,只需在添加类后重新定义函数。

的jsfiddle再现您的问题:http://jsfiddle.net/rowlandrose/XAeCh/5/

的jsfiddle解决您的问题:http://jsfiddle.net/rowlandrose/XAeCh/4/

+0

嗨罗兰,谢谢!下面是它的工作原理: '$('button.delete')。click(function(){(this).parent()。addClass('delete-fave'); $(this).addClass 'ready'); $('button.ready')。click(function(){.ajax({type:“POST”, url:“deletefave.php”, data:$(this) .serialize(), success:$ .proxy(function(json){ $(this).closest('li.fave-item')。remove(); },this) }); return false ; }); return false; });' –

相关问题