我正在尝试将两个文本框中的值相乘并将其放在第三个文本框中...使用javascript和php while循环使用onclick事件.....如何做到这一点? 我的代码是
<script language="javascript">
function multiply()
{
var textValue1 = document.getElementById('CLS').value;
var textValue2 = document.getElementById('rate').value;
document.getElementById('valuation').value = textValue1 * textValue2;
}
</script>
<?php
$a="some query";
$b=mysql_query($a);
while($c=mysql_fetch_array($b))
{
echo "<td>".$CLOSINGstk."</td>
<input type='hidden' name='CLOSINGstk".$a."' value='".$CLOSINGstk."' id='CLS".$a."'>";
echo "<td><input type='text' name='rate".$a."' id='rate".$a."'></td>";
echo "<td><input type='text' name='valuation".$a."' id='valuation".$a."' onclick='multiply();'></td>";
}
?>
答案 0 :(得分:1)
试试这个
while($c=mysql_fetch_array($b)) {
echo "<td>
<input type='text' name='valuation".$c['id']."'
id='valuation".$c['id']."' onkeypress='multiply(".$c['id'].");'> //Let you want to pass id from DB
</td>";
或者您可以使用
onkeypress='multiply('.$c['id'].')'
使用 onkeypress 而不是 onclick ()并在您的脚本中
function multiply(id)
{
var textValue1 = document.getElementById('CLS'+id).value;
var textValue2 = document.getElementById('rate'+id).value;
document.getElementById('valuation'+id).value = textValue1 * textValue2;
}
并尝试避免使用mysql_ *函数,因为它们已被删除,而是使用 mysqli _ * 函数或 PDO 语句
答案 1 :(得分:1)
<script language="javascript">
function multiply(arg_id)
{
var textValue1 = document.getElementById('CLS'+arg_id).value;
var textValue2 = document.getElementById('rate'+arg_id).value;
document.getElementById('valuation'+arg_id).value = textValue1 * textValue2;
}
</script>
<?php
$a="some query";
$b=mysql_query($a);
while($c=mysql_fetch_array($b))
{
echo "<td>".$CLOSINGstk."</td>
<input type='hidden' name='CLOSINGstk".$a."' value='".$CLOSINGstk."' id='CLS".$a."'>";
echo "<td><input type='text' name='rate".$a."' id='rate".$a."'></td>";
echo "<td><input type='text' name='valuation".$a."' id='valuation".$a."' onclick='multiply(".$a.");'></td>";
}
?>
只需将参数作为所有CLS,RATE,VALUATION
让我知道我可以帮助你更多。