2013-09-27 116 views
0

我有一個數組有2-3個標題。例如。 「獲得20%折扣」,「節省40%」,「獲得10%折扣」等。我希望在'%'符號前獲得數字值。並將此數值傳遞給html表單作爲輸入。並作爲回報,表格會計算百分比數額。並顯示所有結果。將數組數組添加到html表單輸入並顯示計算結果

現在我已經設法使這個工作爲一個單一的標題。但我無法獲得一系列標題。

我的代碼如下 - 爲獲得所有的冠軍//把它變成所謂的「$陣」

foreach($array as $str) { 
if(preg_match('/(\d+)\%/i' ,$str,$m)) { 
      echo $m[1],"\n"; ?> 

<?php } 
} ?> 

數組

//代碼//上面的代碼之前提取的金額關閉標誌的百分比。下面的代碼將它作爲輸入傳遞給窗體(name = a)。和其他輸入(名稱= b)來自不同的來源。這工作正常。爲了計算,我們需要計算100的百分比值。例如,如果輸入a是5,那麼另一個輸入b是100.要輸出的值將是5.

<form name="form1"> 
    <input type="text" name="a" value="<?php echo $m[1]; ?>" size=5> 
    <input class="budget-sidebar" type="text" name="b" id="amount" size=5> 

下面的html用於顯示計算值並提交表單。

<input type="text" name="total1" value="ans1" size=5 maxlength=4> 
    <input type="button" value="Calculate" onClick="calc1(this.form)"> 
    </form> 

下面的JavaScript函數負責接受輸入並計算值並顯示它。

<SCRIPT LANGUAGE="JavaScript"> 
<!-- Begin 
function calc1(form) { 
a = form.a.value/100; 
b = a*form.b.value; 
form.total1.value = b; 
} 
// End --> 
</script> 

我已經發布了類似的問題,要求針對不同的建議&這應該是一個不同的查詢。謝謝。

+0

我不會站在你在問什麼? – Mubin

+0

你在計算或顯示錯誤? – Mubin

+0

我可以顯示單個字符串的結果。我想要顯示數組的2-3個字符串的結果。 –

回答

1

試圖形成值轉換爲整數進行計算

function calc1(form) { 
    a = parseInt(form.a.value, 10)/100; 
    b = a* parseInt(form.b.value, 10); 
    form.total1.value = b; 
} 

之前,你將有舍入值,以避免一些奇怪的值

[編輯]:

而獲得多串一些這樣的事情可能會工作(沒有測試抱歉)

// php 
$values = array(); 
foreach($array as $str) { 
    if(preg_match('/(\d+)\%/i' ,$str,$m)) { 
     $values[] = $m[1]; 
    } 
} 

// for html 
<form name="form1"> 
    <?php for($i = 0; $i < count($values); $i++) { ?> 
    <input type="text" name="a<?php echo $i ?>" value="<?php echo $values[i]; ?>" size=5> 
    <?php} ?> 
    <input class="budget-sidebar" type="text" name="b" id="amount" size=5> 

// javascript 
function calc1(form) { 
    var i = 0, a = 0; 
    while (form["a" + i]) { 
     a += parseInt(form["a" + i].value, 10); 
     i++; 
    } 
    b = a/100 * parseInt(form.b.value, 10); 
    form.total1.value = b; 
} 
+0

感謝peernohell,但我無法計算多個字符串的結果。 –

相關問題