我正在使用jquery mobile和meteor构建数据输入移动调查问卷。
概念很简单:用户在问卷中输入一些信息,并使用按钮验证(插入)。
我的HTML看起来像(questionnaire.html,我使用的语言可能不太重要):
<head>
<title>Questionnaire</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="jquery.mobile-1.1.1.css" />
<script src="jquery-1.7.1.min.js"></script>
<script src="jquery.mobile-1.1.1.js"></script>
</head>
<body>
{{> insertion }}
</body>
<template name="insertion">
<div data-role="page" id="foo">
<div data-role="header">
<h1>MODULE A : RENSEIGNEMENTS SUR LE REPONDANT </h1>
</div><!-- /header -->
<div data-role="content">
<legend> IDENTIFICATION DU MENAGE </legend>
<input autofocus maxlength="12" required placeholder="Entrez un nombre" name="identifiant" type="number" />
<p> A1. Nom et prénoms du Chef de Ménage:</p>
<input name="nom_prenom_CM" type="text" />
<p> A2. Adresse : </p>
<input name="adresse" type="text"/>
<button type="button" class="submit">Insert and continue</button>
</div><!-- /content -->
<div data-role="footer" data-position="fixed">
<a href="#page_2" data-icon=forward > Module B: ACTIVITE PRINCIPALE DU MENAGE </a>
</div><!-- /footer -->
</div><!-- /page -->
</template>
和javascript(questionnaire.js),其中insertion
是我template
的名称:
Mydata= new Meteor.Collection('mydata');
if (Meteor.isClient) {
Template.insertion.events ({
'click .submit': function () {
Mydata.insert({
identifiant: $('#identifiant').val(),
nom_prenomCM: $('#nom_prenom_CM').val(),
adresse: $('#adresse').val()
});
}
});
}
if (Meteor.isServer) {
}
问题是,只有使用来自Web控制台的Mydata.find().fetch()
才能看到生成的ID。
可能是我的错误。我在线部署应用程序,以便您可以查看它:http://herimanitra.meteor.com/
答案 0 :(得分:0)
你错过了html定义中的id:
$('#identifiant').val(),
此语句查找id为'identifiant'的html元素。但是在你的html中没有定义了这个id的项目。这就是为什么你的HTML应该是这样的:
<input id="identifiant" autofocus maxlength="12" required placeholder="Entrez un nombre" name="identifiant" type="number" />
<input id="adresse" name="adresse" type="text"/>
<input id="nom_prenom_CM" name="nom_prenom_CM" type="text" />
另一种解决方案是更改您的选择器。例如,您可以使用他的名字获取输入字段。
$('[name=adresse]').val();
迎接