JavaScript / JQuery函数不返回任何内容

时间:2013-01-23 18:37:18

标签: javascript jquery html

我在JavaScript / JQuery中的函数不会返回任何内容;我想让它为我返回结果但不会。正如您所看到的,返回值是$("#resultado").html("O Valor do produto ficara "+resultado);但是在运行函数时它不会出现:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
     $("#target").submit(function(){

    var preco_dolar = $("#preco_dolar").val(); 
    var dolar = $("#dolar").val();
    var frete = $("#frete").val();


    if ($('#drop').is(':checked'))
    {
    var drop = 5.8;
    }else var drop = 0; 


    if(typeof preco_dolar == "undefined"){
        alert("Erro ! Falta preco do produto");
    }

    if(typeof frete == "undefined"){
        var frete = 40;
    }

    if(typeof dolar == "undefined"){
        var dolar = 2.16;
    }




    var resultado = (preco_dolar*dolar)+frete;

    $("#resultado").html("O Valor do produto ficara "+resultado);




});
</script>

有人可以指出我出错的地方吗?

4 个答案:

答案 0 :(得分:1)

您没有调用表单提交,因此页面正在刷新并重置页面。使用preventDefault停止表单提交。

$("#target").submit(function (evt) {
    evt.preventDefault();
    ...

答案 1 :(得分:1)

return false;

应该足够了。

或者,您可以通过

来阻止默认行为
e.preventDefault();
e.stopPropagation();

答案 2 :(得分:1)

首先,您需要将脚本包装到

// here $("#target") is nothing

$(document).ready(function () {
    // here $("target") exists
});

第二个改进,不要使用

if(typeof dolar == "undefined"){
    dolar = 2.16;
}

改为使用

if(!dolar){
    dolar = 2.16;
}

这和你一样:

if(!dolar && dolar == 0 && dolar == "" && dolar == false && dolar == undefined){
    dolar = 2.16;
}

要使0成为有效值,请使用

if (!dolar && dolar !== 0) {
    dolar = 2.16;
}

也不要两次使用var dolar = 0;。如果您已经声明它,只需使用dolar =,不要覆盖已声明的var。

答案 3 :(得分:0)

您没有return声明。 Javascript函数需要一个return语句来返回一个值:

function test() {
    return 5;
}