Alertify确认多个提交表单按钮

时间:2019-05-24 05:42:11

标签: alertify alertifyjs

我想使用Alertify确认对话框确定单击了哪个按钮。 这是我的表格:

<form method='post' name='ImportExport' enctype='multipart/form-data'>
    <button onClick='return confirmAlert(event,this,\"Confirm IMPORT\")' type='submit' name='import' value='1'>Import</button>
    <button onClick='return confirmAlert(event,this,\"Confirm EXPORT\")' type='submit' name='export' value='1' >Export</button>
</form>

和我的JavaScript:

function confirmAlert(e, elem, text) {
    var event = e || window.event;
    if(event) {
        event.preventDefault();
    }
    if(alertify) {
        alertify.confirm(text, function(e) {
            if(e) {
                if(elem.tagName === 'A') {
                    window.location = elem.href;
                } else if(elem.tagName === 'FORM') {
                    elem.submit();
                } else if(elem.tagName === 'BUTTON') {
                    elem.form.submit();
                }
                return true;
            } else {
                return false;
            }
        }).setting({
            'title': 'Dialog',
            transition: 'zoom',
            'labels': {
                'ok': 'OK',
                'cancel': 'Cancel'
            }
        });
    }
}

表单已提交,但后端缺少$ _POST的单击按钮。如何使用Alertify提交包含单击哪个按钮的表单?

1 个答案:

答案 0 :(得分:0)

我看到只有一种可能的解决方案被添加到表单隐藏输入中,如下所示:

else if(elem.tagName === 'BUTTON') {
    jQuery('<input>').attr('type', 'hidden').attr('name', elem.name).attr('value', elem.value).appendTo(elem.form);
    elem.form.submit();
}

然后按预期运行。