停止提交按钮然后使用JavaScript提交表单

时间:2016-03-05 21:05:37

标签: javascript php jquery html forms

我有一个删除按钮,我在我的网站的许多区域全局使用。这是它的代码。

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已经触发了。但是如果我删除return false,那么表单将只提交并且永远不会弹出弹出窗口。

有人可以帮帮我吗?

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

1 个答案:

答案 0 :(得分:0)

Onclick是一个错误的事件。你想挂钩提交事件,所以让我们从

开始
#include "shape.h"
#include <iostream>
#include <string>
#include <stdio.h>


using namespace std;

shape *getShape();

int main(){    
    shape *shape[10];

    for(int idx = 0; shape[idx] != NULL; ++idx)
    {    
        shape[idx] = getShape();         
    }

cout << "you made it!";    
    return (0);
}

然后你想实际使用确认结果,所以直接返回:

<input type='submit' onclick="