试图从Javascript文件输出到HTML页面
Trying to output from Javascript file to HTML page?
我正在尝试从Javascript文件输出到HTML页面,并且我遇到了一些困难。基本上,用户将从下拉菜单中选择选项,并从文本框中输入,点击计算,程序将计算必要的值。
计算完成后,我想将三个变量输出回页面。忽略实际的计算,它们是无关的。我使用jQuery和Javascript,我想我可以返回一个单一的变量,但我如何返回我需要的所有变量。
这是我的HTML页面和javascript文件。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</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($("#orangeSel").val(), $("#appleSel").val(), $("#soccerTxt").val(), $("#basketballTxt").val(), $("#banSel").val());
}
</script>
</head>
<body>
<div>
<div>
<br />
<table border="0">
<tr>
<td>
Number of Bananas
</td>
<td>
<select id="banSel">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
Number of Oranges:
</td>
<td><select id="orangeSel">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</td>
<td>
Apples
</td>
<td>
<select id="appleSel">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3 </option>
<option value="4">4</option>
</select>
</td>
</tr>
<tr>
<td>
Soccer Score:
</td>
<td>
<input type="text" id="soccerTxt" value="2" size="3" />
</td>
<td>
Basketball Score:
</td>
<td>
<input type="text" id="basketballTxt" value="30" size="3" />
</td>
</tr>
</table>
<br />
<br />
<center><input type="submit" value="Calculate" onclick="ShowCalculation(); return false;" /></center>
</div>
</div>
<div>
<b><h1>Output</h1></b>
<table border="0">
<tr>
<td>
Manipulated Oranges:
</td>
</tr>
<tr>
<td>
Manipulated Apples:
</td>
</tr>
<tr>
<td>Manipulated Soccer:</td>
</tr>
</table>
</div>
</body>
</html>
Javascript文件
function Main(orange, apple, soccer, basketball, banana) {
var a = parseInt(orange);
var b = parseInt(apple);
var c = parseInt(soccer);
var d = 0;
var e = parseInt(basketball);
var f = parseInt(banana);
for (var i = 0; i < a; i++) {
d += c;
}
for (var j = 0; j < 10; i++) {
c += 30;
}
var outputOne = c;
var outputTwo = d;
var outputThree = 5;
}
要从JavaScript函数返回几个值,您可以在Main()函数中创建一个新的"匿名"对象:
function Main(orange, apple, soccer, basketball, banana) {
var a = parseInt(orange);
var b = parseInt(apple);
var c = parseInt(soccer);
var d = 0;
var e = parseInt(basketball);
var f = parseInt(banana);
for (var i = 0; i < a; i++) {
d += c;
}
for (var j = 0; j < 10; i++) {
c += 30;
}
var outputOne = c;
var outputTwo = d;
var outputThree = 5;
return {output1:outputOne, output2:outputTwo, output3:outputThree};
}
然后你必须修改标记,在你想要输出变量的字段中添加id:
<td>
Manipulated Oranges: <span id="manOranges"></span>
</td>
然后你必须改变JavaScript函数ShowCalculation,看起来像这样:
function ShowCalculation() {
var results = Main($("#orangeSel").val(), $("#appleSel").val(), $("#soccerTxt").val(), $("#basketballTxt").val(), $("#banSel").val());
$("#manOranges").html(results.output1);
}
…希望能有所帮助
编辑:添加了完整的Main函数,以显示整个函数的外观。
可以将结果作为对象返回。下面的内容:
return {
outputOne: c,
outputTwo: d,
outputThree: 5
};
这被称为JavaScript对象文字表示法。你可以在这篇文章中了解更多。
编辑:使用jQuery有几种方法可以将结果添加到您的页面中。jQuery。append或jQuery.html是两种这样的方法。
我在jsFiddle上发布了一个使用你的代码的例子。另外,这一行还有一个bug:
for (var j = 0; j < 10; i++)
i++
应该是j++
在您的代码中,您使用id选择器来获取某些元素的值
$("#orangeSel").val()
同样,您需要在执行计算后设置值
$("#answer-area").html('the answer)
I believe如果您的答案区域是输入,则可以使用val('the answer')
代替html
。
如果你想将值返回给另一个javascript函数,你可以使用map对象:
var output=[ val1, val2, val3];
然后用foreach
遍历emfor (i in output){
do something
}
如果你想在你的html中显示这些值,我建议你直接从javascript中设置这些值,给你想要的单元格一个ID,然后像这样设置一个值
document.getElementById('answer1').innerHTML = val1;
- 使用javascript将动态表从一个html页面打印到另一个html页
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 使用angular重定向到html页面
- Html页面上的多个Base64图像和平滑加载
- 无法将数据从firebase获取到我的html页面
- 如何在chrome扩展中重定向到html页面
- 如何将值传递到上一个html页面
- AngularJS-需要在index.html页面中访问来自服务的数据
- 如何使用Node/Express显示有关特定错误的自定义html页面
- 如何在 html 页面中调用 jquery
- 加载存储在IndexedDB中的HTML页面
- 同一HTML页面中的两个不同版本的JQuery
- HTML页面如何提取通过表单传递的参数
- 在HTML页面上将URL解析为可读的json格式
- 使用jQuery插入HTML页面的第一个项目缺少结束标记
- 在HTML页面上显示node.js服务器中的数据
- 加载页面时更改html页面的位置
- Ajax调用返回当前html页面,而不是请求的文件
- css是从远程node.js添加的,但不适用于html页面