在使用javascript创建的表单上确认表单提交

时间:2014-01-09 01:54:40

标签: javascript html

我在尝试获取动态创建的表单提交确认时遇到了问题。使用从ajax调用返回的信息生成表单。此HTML页面通过ajax将表单提交到php脚本,页面以事务编号回复 在响应之后,下面的代码创建了一个新的“Void Transaction”按钮和表单,它将使之前的事务无效。

这一切都很完美,但在单击新按钮之前,我找不到确认方法(例如“你确定要取消最后一笔交易吗?”)。

<script> 
    $(document).ready(function() { 
        $('#looptransact').ajaxForm(function(response) { 
            document.getElementById("looptransact").reset();
            document.getElementById("areaCode").focus();

            jsonResponse = JSON.parse(response);

                var voidForm = document.createElement("form");
                    voidForm.method = "POST";
                    voidForm.action = "VoidTransaction.php";

                var voidFormData = document.createElement("input");
                    voidFormData.type = "hidden";
                    voidFormData.name = "TransactionNumber";
                    voidFormData.value = jsonResponse.TransactionNumber;

                var voidFormButton = document.createElement("input");
                    voidFormButton.type = "submit";
                    voidFormButton.value = "Void Transaction";

                voidForm.appendChild(voidFormButton);
                voidForm.appendChild(voidFormData);

                placeholder = document.getElementById("VoidButton");
                placeholder.appendChild(voidForm);

            document.getElementById("statusbox").innerHTML=jsonResponse.Response;
            document.getElementById("TransactionNumber").innerHTML="Transaction Number: " +jsonResponse.TransactionNumber;
        }); 
    }); 

我以为我可以将其添加到document.createElement("form")来电:

voidForm.onsubmit = "return confirm('Are you sure you want to void this transaction?')"

但这根本不起作用。

以下是填充的HTML元素:

<div id="statusbox"></div>
<div id="TransactionNumber"></div>
<div id="VoidButton"></div>

我不想承认我现在已经约2个小时了。

2 个答案:

答案 0 :(得分:1)

您可以将按钮类型从提交更改为按钮,然后添加以下代码:

voidFormButton.onclick = function () {
    if (confirm('Are you sure you want to void this transaction?')) {
        voidForm.submit();
    }
}

答案 1 :(得分:0)

试试这个:

$(voidForm).submit(function(){
    if(confirm('Do you want to subhmit?'))
        return true;
    else
        return false;
});