为输入添加值

时间:2016-08-20 19:08:17

标签: jquery

我正在尝试用这个做简单的数学运算。我得到的问题是结果永远不会显示。

HTML

ListViewItems

JS:我在这里得到了变量。等式的结果应显示在#result输入中。

ListViewGroup

3 个答案:

答案 0 :(得分:2)

添加防止默认设置以停止提交和重新加载页面。

$(document).ready(function (){

var result = 0;
$("#result").val( result ); 

$("#button").click(function(evt) {
    evt.preventDefault();
    var data1 = $("#data1").val();
    var data2 = $("#data2").val();

    result = $(data1 * data2);

    $("#result").val( result ); 

});

});

答案 1 :(得分:0)

form有一些默认参数。它有,即使你没有像你那样传递任何东西。例如,它有一个action - 默认为您现在所在的网站。因此,如果您点击提交按钮,表单将提交(GET请求 - 这是另一个默认设置 - 您要使用的网址)。无论您传递给它的参数有多少。防止表单执行此操作。您可以使用preventDefault()方法。

$("#button").click(function(e) {
    e.preventDefault();
    // ... rest of your code
}

这将阻止您的表单真正提交数据/表单/本身 - 您可以在同一页面上使用js处理其值。

答案 2 :(得分:0)

在以下片段中,result将是一个对象

result = $(data1 * data2);

将其更改为:

result = data1 * data2;

其余代码看起来很好。正如其他评论中所建议的那样,不要忘记将调用添加到preventDefault()

$(document).ready(function (){
    var result = 0;
    $("#result").val( result ); 

    $("#button").click(function(evt) {
        evt.preventDefault();
        var data1 = $("#data1").val();
        var data2 = $("#data2").val();

        result = data1 * data2;    
        $("#result").val(result); 
    });
});