我尝试创建一个输入表单,它会输入您输入的全名并显示给您。我的论坛接受了这个条目,但它根本不会显示它。 这是我的代码:
<head>
<title>InputForum</title>
</head>
<body>
{{> Forum}}
</body>
<template name ="Forum">
<form id="frm1" action="form_action.asp">
First name: <input type="text" name="fname" value="Donald"><br>
Last name: <input type="text" name="lname" value="Duck"><br><br>
<input type="submit" value="Submit">
</form>
<p>Click "Try it" to display the value of each element in the form.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
</template>
这是我的JS代码
if (Meteor.isClient) {
Template.Forum.helpers({
myFunction: function () {
alert();
var x = document.getElementById("frm1");
var text = "";
var i;
for (i = 0; i < x.length ;i++) {
text += x.elements[i].value + "<br>";
}
document.getElementById("demo").innerHTML = text;
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
我很新,我很快就能确定这些事情能够解决这个问题,但我现在可以稍微帮忙一下。 任何答案都将不胜感激。
答案 0 :(得分:0)
实际代码看起来很好并且孤立地工作(见下文)。
考虑到这一点,您的meteor框架定义函数似乎存在一些问题。检查函数是否已定义并且实际被调用(在函数中使用alert()
并查看它是否在点击时出现。)
var myFunction = function () {
var x = document.getElementById("frm1");
var text = "";
var i;
for (i = 0; i < x.length ;i++) {
text += x.elements[i].value + "<br>";
}
document.getElementById("demo").innerHTML = text;
}
&#13;
<form id="frm1" action="form_action.asp">
First name: <input type="text" name="fname" value="Donald"><br>
Last name: <input type="text" name="lname" value="Duck"><br><br>
<input type="submit" value="Submit">
</form>
<p>Click "Try it" to display the value of each element in the form.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
&#13;