它可能是基本但需要解释用例的东西。就像有时打击"进入"输入数据,有时鼠标点击工作。我关心"陷阱"我会忽略的。也许它可以在Firefox中使用,但不能在Chrome中使用。
我看到了以下两种方式,两种方式都是将数据输入表单元素的方法。
的JavaScript
var $body = $(e.target).find('[name=body]'); //defines the content
var comment = { body: $body.val() };
HTML
<form class="form-send-message" id="addcomment" data-keyboard-attach>
<textarea id="body" name="body"></textarea>
</form>
的JavaScript
var message = template.find('input').value;
HTML
<form class="message" data-keyboard-attach>
<input type="text" name="body" id="body">
<button class="icon" type="submit"></button>
</form>
答案 0 :(得分:1)
在这里你可以看到两种方法来找到输入/ textarea的值并附带解释:
'submit .new-post': function(event){
//returns name="postBody" content from the form you're submitting
var postBody = event.target.postBody.value;
//returns the value of an html element that exists in DOM, even if its inside a different template or form.
var postBody = $('.someClass').val()
}
答案 1 :(得分:1)
您的第一个代码是jQuery,而您的第二个代码是Meteor。他们都可以在适当的情况下完成同样的事情。另外,根据this answer,meteor的template.find
是jQuery的$
的别名,这意味着它们完全相同。
但是,在这种情况下,代码不会做同样的事情。
您的第一个代码在e.target
内找到一个名为“body”的元素的值。我假设e
是Event
,但无法判断您提供的当前代码量。
第二个代码只获取它找到的第一个INPUT元素的值。