2013-09-27 165 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,但我无法计算多个字符串的结果。 –

相关问题