2016-10-22 8 views
1

で働いていない私はJavaScriptで助けを必要とし、woocomerceで私のコード(チェックアウト)です:でpreventDefault(ジャバスクリプト)ワードプレス

<script type="text/javascript"> 
 
document.getElementById("billing_city").onkeyup = function validarDistrito(event){ 
 
    // do stuff 
 
    var billinginfo = document.getElementsByName("billing_city")[0].value; 
 
\t var distritoArray= ["Barranco","Breña","Jesús María","La Victoria","Lince","Miraflores","Pueblo Libre","San Borja","San Isidro","San Luis","San Miguel","Surco","Surquillo","Callao","La Molina","Lima Cercado","Magdalena", "Rimac", "Lima Metropolitana"]; 
 
\t 
 
    console.log(billinginfo); 
 
    for (i = 0; i < distritoArray.length; i++) { 
 
     if(distritoArray[i].toUpperCase() == billinginfo.toUpperCase()){ 
 
      document.getElementById('payment_method_bacs').disabled = false; 
 
      alert('igual'); 
 
     }else{ 
 
      document.getElementById('payment_method_bacs').disabled = true; 
 
     } 
 
    } 
 
    event.preventDefault(); 
 
} 
 
</script>

コードの仕事は非常に良いが、その後、数秒後でそれが更新され、以前の状態に戻ります。そして私はメソッドpreventDefault()を使用します。それはワードプレスで動作しません。

PD:jqueryを使用して同じことが成立します。

ありがとうございます!

答えて

0

e.preventDefault()を使用しています。それはevent.preventDefault()でなければなりません。

validarDistrito(イベント)を見て、イベント変数

という名前あなたはものがそうならばdistroArrayは、それの残りの部分を検証しておくということです

<script> 
document.getElementById("billing_city").onkeyup = function validarDistrito(event){ 
    // do stuff 
    var billinginfo = document.getElementsByName("billing_city")[0].value; 
    var distritoArray= ["Barranco","Breña","Jesús María","La Victoria","Lince","Miraflores","Pueblo Libre","San Borja","San Isidro","San Luis","San Miguel","Surco","Surquillo","Callao","La Molina","Lima Cercado","Magdalena", "Rimac", "Lima Metropolitana"]; 

    console.log(billinginfo); 
    for (i = 0; i < distritoArray.length; i++) { 
     if(distritoArray[i].toUpperCase() == billinginfo.toUpperCase()){ 
      document.getElementById('payment_method_bacs').disabled = false; 
      return; 
     }else{ 
      document.getElementById('payment_method_bacs').disabled = true; 
     } 
    } 
    event.preventDefault(); 
} 
</script> 

このコードを試してみてください入力値が配列の値の1つと等しい場合、検証を停止する必要があります

+0

ありがとう、私はそれを変更しましたが、まだ応答しません。 –

+0

ありがとう、しかし、それは動作しません、問題は私が思う他のjavascriptとの競合です。私は最後のオプションをWordPressのプラグインを使用します。 –