单击警报弹出窗口上的“确定”时更改提交按钮的文本

时间:2019-02-26 09:31:31

标签: javascript button submit confirmation

我有一个购物车系统,客户可以在该系统中接受订单并检查购物车中是否有东西,但是如果购物车中没有东西,就无法继续。

如果他们单击“提交”按钮,则会弹出警报。我有一个适合那个人的javascript。

function validateForm()
{
var x=document.forms["form1"]["total"].value;
if (x==null || x=="")
  {
  alert("Take your order first.");
  return false;
  }
var con = confirm("Are you sure you want to order this item/s?");
if (con ==false)
{
return false;
}
}

在弹出消息上单击确定时,如何更改提交按钮的文本?我希望当客户一次添加订单时将其更改为“更新订单”。

2 个答案:

答案 0 :(得分:1)

你是这个意思吗?

document.getElementById("myForm").addEventListener("submit",function(e) {
  var x = this.total.value.trim(), sure = false;
  if (this.subBut.value=="Update order" && x !=="") return true;
  e.preventDefault();
  if (x == "") {
    alert("Please take your order first.");
  }
  else sure =  confirm("Are you sure you want to order this item/s?");
  if (sure) {
    this.subBut.value="Update order";
  }
  return sure;
});
<form id="myForm">
<input type="text" name="total" value="" />
<input type="submit" name="subBut" value="Add order" />
</form>

答案 1 :(得分:0)

Corse并不是最好的解决方案,因为我们看不到所有代码,但是如果我理解正确的话

function validateForm(){
    var x=document.forms["form1"]["total"].value;
    if (x==null || x==""){
        alert("Take your order first.");
        return false;
    }
    var con = confirm("Are you sure you want to order this item/s?");
    if (con ==false){
        return false;
    } else {
        var submittBtn = document.forms["form1"][your_button_name];
        submittBtn.txt = "Update order"; 
    }
}

请注意,当您重置表格或客户删除其订单时,您需要将按钮文本改回。