我在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>
有人可以指出我出错的地方吗?
答案 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;
}