将变量值从html表单传入javascript

Passing variable values into javascript from html form

本文关键字:javascript 表单 html 变量值      更新时间:2023-09-26

我似乎不能得到这个工作,我已经尝试了相当多。我有一个jscript文件,其中包含一个非常长且复杂的函数,可以进行各种计算。我试图传递存在于jscript文件中的变量值。jscript文件包含3个变量,我希望有能力从HTML表单页面更改。

我试图改变的jscript文件中的变量是vehicleWeight,轴距和轮胎选择。请注意,jscript文件工作完美无缺,但我希望能够改变变量,而无需进入和手动说var vehicleWeight = 300等。我在framework.js中运行的函数是Main.

这是我的HTML页面的样子。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    <script type="text/javascript" src="framework.js"></script>
    <script type="text/javascript">
        function ShowCalculation() {
            Main($("#wheelBaseTxt").val(), $("#tireChoiceSel").val(), $("#wheelBaseTxt").val());
        }
    </script>
</head>
<body>
    Vehicle Weight:
    <input id="vehicleWeightTxt" type="text" /><br />
    Tire Choice:
    <select id="tireChoiceSel">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select><br />
    Wheel Base: <input type="text" id="wheelBaseTxt" /><br />
    <input type="submit" onclick="ShowCalculation(); return false;" />
</body>
</html>

如果不查看你的javascript include很难说,但是你可能需要一些类似于下面的代码在你的Main函数。

var vehicleWeight = 0.0;
var wheelbase = 0.0;
var tireChoice = 0.0;
function Main(inpVehicleWeight, inpWheelbase, inpTireChoice) {
   vehicleWeight = inpVehicleWeight;
   wheelbase = inpWheelBase;
   tireChoice = inpTireChoice;
   // ... other calculations, etc ...
}

除非在框架js中定义的变量是全局的,否则你无法改变它们的值。

我这样做了:

<script type="text/javascript">
        function ShowCalculation() {
            alert($("#wheelBaseTxt").val()  + "; " +  $("#tireChoiceSel").val()  + "; " +  $("#wheelBaseTxt").val());
        }
</script>

…这似乎不是jQuery的问题……价值就在那里。使用这种方法进行测试。问题可能在Main()函数中。