Javascript 查找不带提交按钮且不重新加载的计算脚本

Javascript 查找不带提交按钮且不重新加载的计算脚本,javascript,ajax,forms,Javascript,Ajax,Forms,我在网上看到过几个表单,你只需更改所需物品的数量,就可以立即更改价格。没有重新加载和提交(或计算)按钮 我在找这样的东西,但很简单 Amount of pages: [textfield] price: [answer] 就这些。 代码必须从[textfield]获取输入,并将其乘以某个数字(我可以在代码中更改该数字)。该计算结果应在[答案]中给出 我一直在谷歌上四处寻找,但我只能找到使用提交按钮的非常难和大的表单。我的php/ajax/javascript不够好,无法自己编写te代码。 我知

我在网上看到过几个表单,你只需更改所需物品的数量,就可以立即更改价格。没有重新加载和提交(或计算)按钮

我在找这样的东西,但很简单

Amount of pages: [textfield]
price: [answer]
就这些。 代码必须从[textfield]获取输入,并将其乘以某个数字(我可以在代码中更改该数字)。该计算结果应在[答案]中给出

我一直在谷歌上四处寻找,但我只能找到使用提交按钮的非常难和大的表单。我的php/ajax/javascript不够好,无法自己编写te代码。 我知道Stackoverflow上有几个提交表单,但我不知道如何编辑它们来完成我希望它完成的任务

你不必让它看起来很花哨,我已经做了一个很好的表格来把代码放进去。 显然,它必须在每个主要的浏览器上工作

编辑: 我试过KhòI提供的代码

我试过玩这个:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script src="jquery-1.8.2.min.js" type="text/javascript" defer="defer">
$('#pages').change(function(ev){
var total = $('#pages').val() * 0.2;
$('#total').html((total).toFixed(2));
});?
</script>
</head>
<body>

Pages: <input type="text" name="pages" id="pages" />
<br/><br/>
Total: <span id="total">0.00</span>

</body>
</html>

$('#页')。更改(功能(ev){
var total=$('#pages').val()*0.2;
$('#total').html((total).toFixed(2));
});?
页:


总数:0.00
但那不管用??
我确实下载了Jquery文件,并将其放入与此页面相同的文件夹中。

我建议您学习一些基本的Jquery。使用JQuery可以非常有效地完成这些事情,而且学习曲线不会太陡

我给你做了一把小提琴让你开始:

以下是单个工作HTML页面的完整代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>

<script  type="text/javascript">
$(document).ready(function() {
    $('#pages').keyup(function(ev){
        var total = $('#pages').val() * 0.2;
        $('#total').html((total).toFixed(2));
    });
});
</script>
</head>
<body>

Pages: <input type="text" name="pages" id="pages" />
<br/><br/>
Total: <span id="total">0.00</span>

</body>
</html>

测试
$(文档).ready(函数(){
$(“#页”).keyup(函数(ev){
var total=$('#pages').val()*0.2;
$('#total').html((total).toFixed(2));
});
});
页:


总数:0.00
我建议您学习一些基本的JQuery。使用JQuery可以非常有效地完成这些事情,而且学习曲线不会太陡

我给你做了一把小提琴让你开始:

以下是单个工作HTML页面的完整代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title>test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>

<script  type="text/javascript">
$(document).ready(function() {
    $('#pages').keyup(function(ev){
        var total = $('#pages').val() * 0.2;
        $('#total').html((total).toFixed(2));
    });
});
</script>
</head>
<body>

Pages: <input type="text" name="pages" id="pages" />
<br/><br/>
Total: <span id="total">0.00</span>

</body>
</html>

测试
$(文档).ready(函数(){
$(“#页”).keyup(函数(ev){
var total=$('#pages').val()*0.2;
$('#total').html((total).toFixed(2));
});
});
页:


总数:0.00

如果您希望在不离开该框的情况下进行计算,则需要将事件从
change
更改为
keyup
,这将允许您在每次按下特定字段后进行更新

如果您希望在不离开该框的情况下进行计算,则需要将事件从
change
更改为
keyup
,这将允许您在每次按下特定字段后进行更新

那么,你什么都没试过?是的,我试过,但没试过。我尝试了几种不同的形式,但它们不能满足我的要求,所以我试着让它们满足我的要求。。。。但是没有起作用。我找到了一些其他的,但不是在每个浏览器上都有效。现在我有了一个PHP脚本,它可以工作。。。但它有提交按钮,它会重新加载以显示结果。我不太熟悉PHP/ajax/javascript等。所以我很难找到我可以编辑的东西来让它工作。所以,你什么都没试过吗?是的,我试过,但没找到。我尝试了几种不同的形式,但它们不能满足我的要求,所以我试着让它们满足我的要求。。。。但是没有起作用。我找到了一些其他的,但不是在每个浏览器上都有效。现在我有了一个PHP脚本,它可以工作。。。但它有提交按钮,它会重新加载以显示结果。我不太熟悉PHP/ajax/javascript等。所以我很难找到我可以编辑的东西来让它工作。哇!谢谢allready看起来棒极了。我会接受你的建议。看来值得。我真的不想听起来忘恩负义。但是,有没有一种简单的方法可以让它重新计算,而不必单击文本字段之外的某个位置?因此,allready会在您键入时计算,而不是在您键入时计算(我希望您知道我的意思,我不太擅长解释自己)。它也从
.change()
事件更改为
.keyup()
,因此它会在您键入时计算。khi,您是一个传奇!非常感谢。哇!谢谢allready看起来棒极了。我会接受你的建议。看来值得。我真的不想听起来忘恩负义。但是,有没有一种简单的方法可以让它重新计算,而不必单击文本字段之外的某个位置?因此,allready会在您键入时计算,而不是在您键入时计算(我希望您知道我的意思,我不太擅长解释自己)。它也从
.change()
事件更改为
.keyup()
,因此它会在您键入时计算。khi,您是一个传奇!非常感谢。老兄。。。。这是一个很好的窍门:D。现在,我只想知道如何放入页面。我不知道如何给你的答案打分。但我会“升级”它。(我对这里有点陌生……)同样在
keyup
和change上执行操作时,您可能希望确保您正在验证数据,否则您可能会在答案字段中得到一个NaN。@kwelch我不知道如何验证输入。难吗?谢谢你对Kristaps Karlsons的编辑,但我仍然需要弄清楚如何将其放入html页面(参见beginpost)。。。。这是一个很好的窍门:D。现在,我只想知道如何放入页面。我不知道如何给你的答案打分。但我会“升级”它。(我对这里有点陌生……)同样在
keyup
和change上执行操作时,您可能希望确保您正在验证数据,否则您可能会在答案字段中得到一个NaN。@kwelch我不知道如何验证输入。难吗?感谢您对Karlsons的编辑,但我仍然需要弄清楚如何将其放入html页面(请参阅beginpost)。