在javascript中取消确认功能提交表格

时间:2014-11-25 17:41:04

标签: javascript function confirm

获得一个表单,要求用户输入捐赠金额。点击提交时,会调用一个函数,该函数用于显示指定的金额,并提示用户确认输入的金额是否为实际金额。

Confirm()中的Cancel选项不断提交表单而不是返回false。

function donationFormSend(){

    get_donation_amount = document.getElementById("get_donation_amt").value;

    if(get_donation_amount != ''){
        return confirm("You have specified "+get_donation_amount+" as the amount you wish to donate. \n\n Are you sure you want to proceed with the donation?");
    }
    else{
        alert("Amount must be specified to process your donation.");
        return false;   
    }

}    


<form method="post" action="">
<div>
      <div>Donation Amount:</div>
      <input name="amount" type="text" id="get_donation_amt" required="required" />
    </div>   
  <input name="donation_submit" type="submit" id="Submit" value="Proceed" onclick="return donationFormSend();" />
  </form>

Jsfiddle link

很高兴能得到这方面的帮助。

3 个答案:

答案 0 :(得分:1)

updated your jsfiddle所以它是预期的格式(加载头部的js)并返回确认结果

return confirm('blah blah')

在FF中非常适合我!只需确保清除缓存并重新加载页面即可。

答案 1 :(得分:0)

这样做的方法可能是:

表格:

   <form id='test' method="post" action="">
    <div>
          <div>Donation Amount:</div>
          <input name="amount" type="text" id="get_donation_amt" required="required" />
     </div>   
      <input type="submit" value="submit" onClick="form_submit(this.value)">
    <input type="submit" value="cancel" onClick="form_submit(this.value)">
     </form>

的javascript:

document.getElementById('test').addEventListener('submit',function (event) {
 if (event.preventDefault) { 
      event.preventDefault();
   } else {
      event.returnValue = false; 
   }
})

form_submit= function (submited_by) {

  if(submited_by == 'submit'){
    alert('Submited')
   }else if (submited_by == 'cancel'){
   alert('cancelled')  
  }

}  

我宁愿使用switch语句使其在将来可扩展,但这应该可行。

我也使用jquery主要是因为我不确定如何在没有它的情况下停止默认操作。

此处有JSFiddle代码正在运行。

编辑:更新为不使用Jquery。

编辑:好吧,我现在觉得很蠢,意识到它不是在提交表格中取消按钮,而是在确认表格中。

答案 2 :(得分:-1)

In your HTML use :   onclick="return  donationFormSend();"
In Your Javascript:  return confirm("Are you sure ....blah blah blah")