两个提交按钮具有相同的动作,一个具有相同的形式添加功能/动作

时间:2016-11-29 11:37:35

标签: javascript php jquery html forms

我有一个 if (IsMigration){ modelBuilder.Ignore<YourViewTable>(); } ,有两个form按钮。

submit

<form id="manageSalesForm" name="manageSalesForm" method="post" action="<?php echo BASE_URL?>includes/functions/sales_functions.php"> 按钮应该向数据库提交数据(可行)

PROCEED

<input type="submit" name="btnProceed" id="btnProceed" value="PROCEED" onclick="document.getElementById('txtSubTotal').value = '';"/> 按钮应该向数据库提交数据并打印页面(如何执行此操作?)

PRINT & PROCEED

salesreceipt2.php 包含<input type="submit" name="btnPrintReceipt" id="btnPrintReceipt" value="PRINT &amp; PROCEED" formaction="<?php echo BASE_URL?>reports/salesreceipt2.php" formtarget="_blank"/> 代码,应在新标签/窗口中打开。

相同的表单有另一个fpdf类型的按钮

button

我尝试了几种方法,但我无法做到这一点。感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

首先将所有提交更改为按钮。像这样:

<input type="button" value="Proceed" onclick="proceed(false)" />
<input type="button" value="Proceed & Print" onclick="proceed(true)" />

现在添加此Javascript:

function print(recordId){
    window.open( 'baseurl/salesreceipt2.php?id='+recordId , '_blank');
}
function proceed(printIt){
    // your ajax operations..
    $.ajax({
        //your ajax configs..
        success:function(response){
            //your ajax success things..
            if(printIt == true){
                print(response.lastId); // Pass last Id of record to print function if your salesreceipt2.php always prints last record that's unnecessary.
            }
        }
    });
}

它很容易。如果printIt(您的第一个参数)为true,则使用LastRecordId调用print(如果您的salesreceipt2.php始终打印最后一条记录,则传递它是不必要的,如上所述。)如果不是,您应该返回包含插入ID的JSON响应。所以这个插入的id将通过?id

传递给salesreceipt2.php文件