2016-03-05 151 views
0

我有一个删除按钮,我在我的网站的许多领域全球使用。这是它的代码。停止按钮从提交然后使用JavaScript提交表单

public function delete_button($id_to_be_deleted, $form_to_post_to, $button_name){ 
    return form_open($form_to_post_to, array('class'=>'table_form spanFormat')) . 
    form_hidden(array('id'=>$id_to_be_deleted)) . 
    form_submit(array('class'=>'btn btn-sm btn-danger','name'=>$button_name, 'value'=>'Delete', 'onclick'=>'confirmDelete();return false;')) . 
    form_close(); 
} 

这段代码,'onclick'=>'confirmDelete();return false;'就是应该暂时停止提交表单,这里的运行我的功能,

function confirmDelete() { 
    var d = confirm("Are you sure you want to delete this?"); 
    if (d) return true; 
    else return false; 
} 

,如果属实,则提交表单。

出于某种原因,它打开弹出窗口,但不提交表单之后,因为返回false已经被解雇。但是,如果我删除返回false,那么表单将提交并永远不会弹出打开弹出窗口。

有人可以帮我吗?

注意:如果可能的话,我希望这样做。我不想要一个表单提交,我希望我的按钮处理程序。这是因为我的删除表单都有不同的名称,但我的按钮都应该弹出此确认对话框。

+0

''的onclick => 'return confirmDelete();'' –

+0

哈哈,我真的很笨。谢啦。难怪'confirmDelete()'不起作用。 – Nic

回答

0

Onclick是使用错误的事件。你要挂钩提交事件,所以let's开始

<input type='submit' onclick=" 

那么你一定要实际使用的确认结果,所以直接返回它:

<input type='submit' onclick="return confirm('sure?')"/>