2015-03-30 43 views
0

在此腳本中有些內容不起作用。 我需要檢查一個單選按鈕以總價格添加金額。 這樣做很好,但是如果我檢查不同的單選按鈕,它會廣告所有人。 如果我有總數= 100 $;和按鈕1 = $ 10,按鈕2 = $ 10,BUTTON3 = $ 10 如果我檢查所有的3 ...我將獲得的總= $ 130,而不是110 $如果選中無線電框,則將值增加到總數

function calculateTotal(payment) 
{ 
    var check=document.getElementById("check").value; 
    var city = document.getElementsByName('loc'); 
    var value= payment.value; 
    var total= document.getElementById("totl").value; 
    var tcharge; 
    var pvcharge=document.getElementById("ch").value; 
    if(value==0 && check==0) 
    return; 

    if(value==0 && check==1) 
    { 
     total= parseFloat(parseFloat(total)-parseFloat(pvcharge)).toFixed(2); 
     tcharge=0; 
    }else 
    { 
    if(total>=200) 
    return; 
    if(value=='online' || value =='transfer_bancar' || value=='cash' || value == 'la_sediul_nostru') 
     { 
      if(city[0].checked) 
      { 
      total= parseFloat(parseFloat(total)+15.0).toFixed(2); 
      tcharge=15.00; 
      } 
      else 
      if(city[1].checked) 
      { 
      total= parseFloat(parseFloat(total)+30.0).toFixed(2); 
      tcharge=30.00; 
      } 
     } 
     else 
     if(value='la_expeditor') 
     { 

     if(city[0].checked) 
      { 
      total= parseFloat(parseFloat(total)+30.0).toFixed(2); 
      tcharge=30.00; 
      } 
      else 
      if(city[1].checked) 
      { 
      total= parseFloat(parseFloat(total)+60.0).toFixed(2); 
      tcharge=60.00; 
      } 
     } 
     } 

     document.getElementById("tot").innerHTML=total+" LEI"; 
     document.getElementById("totl").value=total; 
     document.getElementById("amt").value=total; 
     document.getElementById("tcharge").innerHTML=tcharge+" LEI"; 
     document.getElementById("check").value=1; 
     document.getElementById("ch").value=tcharge; 

} 

單選框

<tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="online" id="online" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdad</b></span></td>     
    </tr> 
    <tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="transfer_bancar" id="bancar" onClick="calculateTotal(this); return bancarval();" /> <span class="fontext"><b>asdadadadasd</b></span></td>     
    </tr> 
    <tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="cash" onClick="calculateTotal(this);return empty();" /> <span class="fontext"><b>asdadadadadad</b></span></td>     
    </tr> 

    <tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="la_expeditor" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdadad</span></td>  </tr> 
    <tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="la_sediul_nostru" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdadasdad</b></span></td>     
    </tr> 
    <tr> 
    <tr> 
     <td colspan="2">&nbsp;&nbsp;<input type="radio" name="payment" value="0" onClick="calculateTotal(this); return empty();" /> <span class="fontext"><b>asdasdasd</b></span></td>  </tr> 
    <tr> 
     <td><span class="fontext"><b>Cost transport: </b></span></td> <td><span class="fontext" ><b id="tcharge">0.00 LEI</b></span></td>  </tr> 

和PHP

if($Tott<200) 
if(isset($_POST['loc'])) 
{ 
$tcharges=$_POST['loc']; 

     if(isset($_POST['payment'])) 
     { 
      $payment=$_POST['payment']; 
      if($payment!=0) 
      if($payment=='online' || $payment =='transfer_bancar' || $payment=='cash' || $payment == 'la_sediul_nostru') 
      { 
       if($tcharges=='in') 
        $Tott+=15; 
        else 
        $Tott+=30; 
      }else 
      if($payment=='la_expeditor') 
      { 
       if($tcharges=='in') 
        $Tott+=30; 
        else 
        $Tott+=60; 

      } 


     } 
} 
+1

請發佈相關的HTML,以便我們能排除故障。 – 2015-03-30 19:02:11

+0

[使用jQuery根據動態無線電輸入屬性值更改總輸入值]的可能重複(http://stackoverflow.com/questions/28993670/change-total-input-value-according-to-dynamic-radio-input- attribute-values-with)(因爲有一個jQuery標籤) – 2015-03-30 19:03:31

+0

如何檢查所有3個單選按鈕?只有一個按鈕可以被檢查。 – Barmar 2015-03-30 19:04:32

回答

0

每一次,你操作過總以前計算的。

出錯行:

var total= document.getElementById("totl").value; 

取而代之的是,將其更改爲操作關原,清潔值。

+0

可以請你寫下線嗎?我嘗試設置var totalu = document.getElementById(「totl」)。value;並使用total = parseFloat(parseFloat(totalu)+15.0).toFixed(2); – learning 2015-03-30 19:26:24

+0

添加輸出表單的代碼。 – McAden 2015-03-31 16:43:14

+0

$ Tott + = $ Ret ['p_price']; <?php echo number_format($ Tott,2,'。',''); ?> – learning 2015-03-31 18:29:04

相關問題