2016-03-22 21 views
-1

checkTax() işlevini çağıran bir HTML düğmesi var. İşlev, Tamam'a tıklandığında formu onaylamalı ve devam etmeli ya da gönderimi iptal etmeli ve kullanıcıyı farklı bir sayfaya yönlendirmelidir. javascript/window.confirm işleviyle ilgili sorunlar

Bu

fonksiyonudur:

function checkTax() { 
    if (CUSTTAXRATE == 0) { 
     var r = confirm("Your current tax rate is 0.\n\nIf this is correct click OK to continue.\n\nIf this needs to be adjusted, click CANCEL and visit the quote set up page under DEALER RESOURCES tab."); 
     if (r == true){ 
      return true; 
     } 
     else { 
     <!--- return false; ---> 
      window.location.replace("index.cfm?action=retailQuote.settings"); 

     } 
    } 

} 

ben de sadece gönderme iptal veya yönlendirme denedi, ama ben de işe alınamıyor. Her iki yol da formu teslim eder ve devam eder. Neyi yanlış yapıyorum?

+2

. Bunu gösterebilir misin lütfen? – putvande

+0

Referans olarak, JS tek satır yorumları için '//' kullanır. Komut dosyanızı bozabilecek HTML yorumları dahil ediyorsunuz. – DBS

+0

Related: [Gönderilmesinin formu nasıl önlenir?] (Http://stackoverflow.com/q/3350247/4642212) – Xufox

cevap

0

Düğmenin onclick özniteliğinde return ifadesini kullandığınızdan emin olun.

<button type="submit" onclick="return checkTax();">Submit</button> 

Aksi takdirde, fonksiyonun geri dönüş değeri göz ardı edilir ve bunun false döndürdüğünde göndererek formu engellemez.

+0

Yanlış yaptığım şey," return "i onClick. çok teşekkürler. –

0

Basitleştirmeniz için yukarıdaki yanıtları tamamlamayı denedim. kod aşağıda bulabilirsiniz:

<body> 
<form action=""> 
    <input type=text id="t1"> 
    <button type="submit" onclick="return checkTax();">Submit</button> 
</form> 

<script type="text/javascript"> 
    function checkTax() { 
     var CUSTTAXRATE = document.getElementById("t1"); 
     if (CUSTTAXRATE == 0) { 
      var r = confirm("Your current tax rate is 0.\n\nIf this is correct click OK to continue.\n\nIf this needs to be adjusted, click CANCEL and visit the quote set up page under DEALER RESOURCES tab."); 
      if (r == true) { 
       return true; 
      } else { 
       window.location 
         .replace("index.cfm?action=retailQuote.settings"); 
       return false; 
      } 
     } 

    } 
</script> 
bu işlevi çağırmak için kullanın Neler kodu