使用Meteor框架从表单输入中提取数据

时间:2016-02-27 18:44:34

标签: javascript html meteor

我尝试创建一个输入表单,它会输入您输入的全名并显示给您。我的论坛接受了这个条目,但它根本不会显示它。 这是我的代码:

<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
  });
}

我很新,我很快就能确定这些事情能够解决这个问题,但我现在可以稍微帮忙一下。 任何答案都将不胜感激。

1 个答案:

答案 0 :(得分:0)

实际代码看起来很好并且孤立地工作(见下文)。

考虑到这一点,您的meteor框架定义函数似乎存在一些问题。检查函数是否已定义并且实际被调用(在函数中使用alert()并查看它是否在点击时出现。)

&#13;
&#13;
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;
&#13;
&#13;