我在尝试获取动态创建的表单提交确认时遇到了问题。使用从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个小时了。
答案 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;
});