我完全是 javascripting 的菜鸟,但我有一个很好的问题要解决。
我有一个从数据库接收数据的表单。
我写了一个非常简单的 javascript,它自己执行我想要它做的计算。但是我怎样才能将计算出的值返回到表单中。我想使用 onkeyup 以便在发送表单之前更新数据。
目前我只有表单和单独的 javascript。但我不知道如何让它们一起工作。我知道document.write
javascript 中的语句不会在表单中起作用。这个,我只是用来构建和检查我的计算器。
一旦impru_rest
值被填写,计算就必须开始。impru_dobanda
它必须为表单发送和/或impru_sold
返回新值。
有任何想法吗?
这是表格的一部分
<?php
// create form according to existing loan/interest
echo '<td><div align="center"><input type="text" size="11" name="impru_acc" value = '.$impru_acc.'></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_rest" onkeyup= value = ""></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_sold" value = '.$impru_sold.'></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_dobanda" value = '.$impru_dobanda.'></div></td>';
>?
这是计算
<script type=\"text/javascript\">
var impru_acc = ".$impru_acc.";
var impru_dobanda = ".$impru_dobanda.";
var impru_rest = ".$impru_rest.";
var impru_sold = ".$impru_sold.";
if (impru_dobanda>0) {
var difference = impru_dobanda-impru_rest;
} else {
var difference = 0;
}
if (difference > 0) {
impru_dobanda = impru_dobanda - impru_rest;
document.write(impru_sold);
document.write(impru_dobanda);
}
if (difference < 0) {
impru_sold = difference + impru_sold;
impru_dobanda = 0;
document.write(impru_sold);
document.write(impru_dobanda);
}
if (difference == 0) {
impru_dobanda = 0;
var impru_sold=impru_sold-impru_rest;
document.write(impru_sold);
document.write(impru_dobanda);
}
</script>
在 Allen123 和 tinyByte 的帮助下,我得到了这个,但它什么也没做:
我现在在我的标题中添加了 jquery 注释。
我可能在函数中犯了错误,但现在似乎什么都没有发生。我猜脚本不能影响表单中的值这就是我所拥有的。我究竟做错了什么?
<?php
// create form according to existing loan/interetest
echo '<td><div align="center"><input type="text" size="11" name="impru_acc" value = '.$impru_acc.'></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_rest" onkeyup=calculateAll(); value = ""></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_sold" value = '.$impru_sold.'></div></td>';
echo '<td><div align="center"><input type="text" size="11" name="impru_dobanda" value = '.$impru_dobanda.'></div></td>';
?>
<script>
function calculateAll(){
var impru_acc = $('input[name="impru_acc"]').val();
var impru_dobanda = $('input[name="impru_dobanda"]').val();
var impru_rest = $('input[name="impru_rest"]').val();
var impru_sold = $('input[name="impru_sold"]').val();
if (impru_dobanda>0) {
var difference = impru_dobanda-impru_rest;
} else {
var difference = 0;
}
if (difference > 0) {
impru_dobanda = impru_dobanda - impru_rest;
}
if (difference < 0) {
impru_sold = difference + impru_sold;
impru_dobanda = 0;
}
if (difference == 0) {
impru_dobanda = 0;
var impru_sold=impru_sold-impru_rest;
}
}
$(document).ready(function(){
$('input').change(function(){
calculateAll();
});
});