Nan来自javascript

Nan来自javascript,javascript,Javascript,嗨,这是我的第一篇文章,也是我第一次尝试javascript(我喜欢php)。问题是,我从我的js中得到了一个NaN结果,它如下(如果我能得到要移植的代码的话!) 函数运行_Total(){ 警报(“开火”); var cost1=“”.$”会话['75gmcost']”“+”; var cost2=“”.$”会话['100gmcost']。“+”; var cost3=“”.$”会话['1kgcost'].“;+”; var cost4=“”.$”会话['c75gmcost']”“+”; v

嗨,这是我的第一篇文章,也是我第一次尝试javascript(我喜欢php)。问题是,我从我的js中得到了一个NaN结果,它如下(如果我能得到要移植的代码的话!)


函数运行_Total(){
警报(“开火”);
var cost1=“”.$”会话['75gmcost']”“+”;
var cost2=“”.$”会话['100gmcost']。“+”;
var cost3=“”.$”会话['1kgcost'].“;+”;
var cost4=“”.$”会话['c75gmcost']”“+”;
var qty1=“”.$”会话['qty75gm'].“+”;
var qty2=“”.$”会话['qty100gm'].“+”;
var qty3=“”.$”会话['qty1kg']”“+”;
var qty4=“”.$”会话['qtyc75gm']”“+”;
var总和=0;
总和+=成本1*qty1;
总和+=成本2*qty2;
总和+=成本3*qty3;
总和+=成本4*qty4;
$('tot#u cost')。空();
$('tot#u cost')。追加(总和);
}
我试图从表单输入中求订单总数,但对js了解不够,无法解决Nan问题。
我想我的php变量必须修改以适应js,但我不知道该怎么做##

尝试用以下内容替换代码中的var赋值:

var cost1 = {$_SESSION['75gmcost']};
var cost2 = {$_SESSION['100gmcost']};
var cost3 = {$_SESSION['1kgcost']}; 
var cost4 = {$_SESSION['c75gmcost']}; 
var qty1 = {$_SESSION['qty75gm']};
var qty2 = {$_SESSION['qty100gm']}; 
var qty3 = {$_SESSION['qty1kg']};
var qty4 = {$_SESSION['qtyc75gm']}; 
对字符串进行concatating会产生一个值,该值在JavaScript中不会被解释为数字(NaN)

下面是一个向“4”发出警报的工作示例

<?php
    session_start();
    $_SESSION['75gmcost'] = 1; 
    $_SESSION['100gmcost'] = 1;  
    $_SESSION['1kgcost'] = 1; 
    $_SESSION['c75gmcost'] = 1; 
    $_SESSION['qty75gm'] = 1;  
    $_SESSION['qty100gm'] = 1; 
    $_SESSION['qty1kg'] = 1; 
    $_SESSION['qtyc75gm'] = 1; 

    print <<< HERE
           <script type="text/javascript">
    function Running_Total() { 
            alert('firing');
        var cost1 = {$_SESSION['75gmcost']}; 
        var cost2 = {$_SESSION['100gmcost']};
        var cost3 = {$_SESSION['1kgcost']};
        var cost4 = {$_SESSION['c75gmcost']}; 
        var qty1 = {$_SESSION['qty75gm']};
        var qty2 = {$_SESSION['qty100gm']}; 
        var qty3 = {$_SESSION['qty1kg']};
        var qty4 = {$_SESSION['qtyc75gm']}; 
        var sum = 0;
        sum += cost1 * qty1;
        sum += cost2 * qty2;
        sum += cost3 * qty3;
        sum += cost4 * qty4;
        alert(sum);
    }
    Running_Total();
    </script>
    HERE;
?>

尝试用以下内容替换代码中的var分配:

var cost1 = {$_SESSION['75gmcost']};
var cost2 = {$_SESSION['100gmcost']};
var cost3 = {$_SESSION['1kgcost']}; 
var cost4 = {$_SESSION['c75gmcost']}; 
var qty1 = {$_SESSION['qty75gm']};
var qty2 = {$_SESSION['qty100gm']}; 
var qty3 = {$_SESSION['qty1kg']};
var qty4 = {$_SESSION['qtyc75gm']}; 
对字符串进行concatating会产生一个值,该值在JavaScript中不会被解释为数字(NaN)

下面是一个向“4”发出警报的工作示例

<?php
    session_start();
    $_SESSION['75gmcost'] = 1; 
    $_SESSION['100gmcost'] = 1;  
    $_SESSION['1kgcost'] = 1; 
    $_SESSION['c75gmcost'] = 1; 
    $_SESSION['qty75gm'] = 1;  
    $_SESSION['qty100gm'] = 1; 
    $_SESSION['qty1kg'] = 1; 
    $_SESSION['qtyc75gm'] = 1; 

    print <<< HERE
           <script type="text/javascript">
    function Running_Total() { 
            alert('firing');
        var cost1 = {$_SESSION['75gmcost']}; 
        var cost2 = {$_SESSION['100gmcost']};
        var cost3 = {$_SESSION['1kgcost']};
        var cost4 = {$_SESSION['c75gmcost']}; 
        var qty1 = {$_SESSION['qty75gm']};
        var qty2 = {$_SESSION['qty100gm']}; 
        var qty3 = {$_SESSION['qty1kg']};
        var qty4 = {$_SESSION['qtyc75gm']}; 
        var sum = 0;
        sum += cost1 * qty1;
        sum += cost2 * qty2;
        sum += cost3 * qty3;
        sum += cost4 * qty4;
        alert(sum);
    }
    Running_Total();
    </script>
    HERE;
?>

我通常会这样做(你可以在这里看到结果:):


函数运行_Total(){
警报(“开火”);
var-cost1=;
var-cost2=;
var-cost3=;
var-cost4=;
变量qty1=;
变量qty2=;
变量qty3=;
变量qty4=;
var总和=0;
总和+=成本1*qty1;
总和+=成本2*qty2;
总和+=成本3*qty3;
总和+=成本4*qty4;
警报(总和);
//$('tot#u cost')。空();
//$('tot#u cost')。追加(总和);
}
运行_Total();

我通常会这样做(你可以在这里看到结果:):


函数运行_Total(){
警报(“开火”);
var-cost1=;
var-cost2=;
var-cost3=;
var-cost4=;
变量qty1=;
变量qty2=;
变量qty3=;
变量qty4=;
var总和=0;
总和+=成本1*qty1;
总和+=成本2*qty2;
总和+=成本3*qty3;
总和+=成本4*qty4;
警报(总和);
//$('tot#u cost')。空();
//$('tot#u cost')。追加(总和);
}
运行_Total();

这是您生成的源代码吗?在我看来,您实际上并没有回显任何$\u会话变量的值,您只是在编写字符串$\u会话。。。尝试将行更改为var cost1='';不,这是我写的来源(深入研究)-我会尝试建议的回声方法…谢谢TommyBs!我得到一个结果-0!所以我的新问题是为什么我的算术不行?呵呵……这是你的生成源吗?在我看来,您实际上并没有回显任何$\u会话变量的值,您只是在编写字符串$\u会话。。。尝试将行更改为var cost1='';不,这是我写的来源(深入研究)-我会尝试建议的回声方法…谢谢TommyBs!我得到一个结果-0!所以我的新问题是为什么我的算术不行?呵呵…我很确定那些
{…}
在那里是无效的。而
$\u SESSION
将被解释为JS变量,该变量可能不存在。@FelixKling括号仅在PHP执行期间解释。一旦JS执行,括号将被替换为实际值?你有参考资料吗?我假设PHP的开始和结束标记被省略了。你的意思是整个代码都包含在
中?那么,
var cost1
在PHP中不会产生语法错误吗?我也不相信在PHP中,大括号在赋值的右边是有效的。我很确定那些
{…}
在那里是无效的。而
$\u SESSION
将被解释为JS变量,该变量可能不存在。@FelixKling括号仅在PHP执行期间解释。一旦JS执行,括号将被替换为实际值?你有参考资料吗?我假设PHP的开始和结束标记被省略了。你的意思是整个代码都包含在
中?那么,
var cost1
在PHP中不会产生语法错误吗?我认为在PHP中,大括号在赋值的右边也是无效的。