1

我的脚本中有许多变量,我希望能够通过程序的 HTML 端进行编辑。这样,如果需要对程序进行更改,脚本可以单独放置,并且可以通过 HTML 进行更改。

以下是我想在 HTML 中编辑的变量:

var numberToComplete = 2;
var xAxis = 8;
var yAxis = 6;
var populationAmount = 2; 

有没有办法做到这一点,如果有怎么办?

4

4 回答 4

1

HTML 本身不能做这样的事情,但你可以有一个事件处理程序来完成这项工作,例如

<label for=n>Number to complete:</label>
<input id=n value=3 onchange="numberToComplete = this.value">

具体如何执行取决于上下文。

于 2012-11-06T12:04:19.660 回答
1
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Testing Variable Capturing</title>
        <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
        <script>
        var numberToComplete = 0;
            var xAxis = 0;
            var yAxis = 0;
            var populationAmount = 0; 

            function setValues() {
                numberToComplete = $("#numberToComplete").val();
                xAxis = $("#xAxis").val();
                yAxis = $("#yAxis").val();
                populationAmount = $("#populationAmount").val();
            }
            function getValues() {
                $("#result").text("numberToComplete: " + numberToComplete + " | xAxis: " + xAxis + " | yAxis: " + yAxis + " | populationAmount: " + populationAmount);
            }
        </script>
    </head>
    <body>
       numberToComplete : <input id="numberToComplete" type="text"/><br/>
       xAxis: <input id="xAxis" type="text"/><br/>
       yAxis: <input id="yAxis" type="text"/><br/>
       populationAmount: <input id="populationAmount" type="text"/><br/>
       <input type="button" onclick="setValues();" value="Set Values" />
       <input type="button" onclick="getValues();" value="Get Values" /><br/>
       <div id="result"></div>
    </body>
</html>

上面的代码说明了一个简单的表单,它捕获用户输入的值并将值设置为您想要的变量。此示例使用 jQuery 引用。

于 2012-11-06T12:08:10.667 回答
0

您可以编写一个eval用于执行 javascript 并设置值的函数

于 2012-11-06T11:52:58.200 回答
0

这样您就可以从 html 表单中传递值,而不必更改脚本

<input type='text' id='numberToComplete'>
<input type='button' id='mybutton' value='mybutton'>​

$("#mybutton").click(function(){

var numberToComplete = ($("#numberToComplete").val()=='')? 2:$("#numberToComplete").val() ;       
var xAxis = 8;
var yAxis = 6;
var populationAmount = 2; 
});

演示 ​</p>

于 2012-11-06T12:05:36.953 回答