车把表单提交不起作用
Handlebars form submit does not work
我有一个表单,在把手中放置提交不起作用,我必须做什么?有人可以帮忙吗?
<script id="chat-window-template" type="text/x-handlebars-template">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<a href="#">
<span class="pull-left">
<img src="{{ user_image }}" width="40">
</span>
<span class="contact-name">{{user}}</span>
</a>
<div class="panel-body" id="chat-bill">
<form id="messageForm">
<input id="nameInput" type="hidden" class="input-medium" value="Macbook" />
<input id="messageInput" type="text" class="form-control" placeholder="Digite uma mensagem..." />
<input type="submit" value="Send" />
</form>
</div>
</script>
$("#messageForm").submit( function() {alert();});
也许在编译 Dom 之前附加了处理程序,尝试监听主体事件,并通过选择器进行过滤,也应该监听将来添加的 Dom 个节点...
$(document.body).on("submit", "#messageForm", function() {alert();});
提交时 运行ning JS 的另一种可能性是 return 从表单元素 onsubmit 属性为 false:
template.hbs
<form id="myForm" onsubmit="myFunc(); return false;">
<input id="textInput" type="text"></input>
<input type="submit"></input>
</form>
...
<script src="js/handleForm.js" type="text/javascript"></script>
handleForm.js
function myFunc() {
console.log("yo");
}
这将在浏览器控制台中记录 "yo"。它之所以有效,是因为在 onsubmit 属性中设置为 false 会阻止浏览器的默认操作(这是 html 的事情,而不是节点或 hbs 的事情)。因此,页面不会重新加载,也不会向超链接添加查询字符串,但 myFunc() 将 运行.
如果您想使用表单数据,只需从 DOM 中获取即可。一种选择是在文本输入上放置一个 id(正如我在 template.hbs 中所做的那样)并使用 jQuery 将其锁定,如下所示:
handleForm.js(修订)
function myFunc() {
var formText = $("#textInput").val();
// Do something with formText
}
我有一个表单,在把手中放置提交不起作用,我必须做什么?有人可以帮忙吗?
<script id="chat-window-template" type="text/x-handlebars-template">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<a href="#">
<span class="pull-left">
<img src="{{ user_image }}" width="40">
</span>
<span class="contact-name">{{user}}</span>
</a>
<div class="panel-body" id="chat-bill">
<form id="messageForm">
<input id="nameInput" type="hidden" class="input-medium" value="Macbook" />
<input id="messageInput" type="text" class="form-control" placeholder="Digite uma mensagem..." />
<input type="submit" value="Send" />
</form>
</div>
</script>
$("#messageForm").submit( function() {alert();});
也许在编译 Dom 之前附加了处理程序,尝试监听主体事件,并通过选择器进行过滤,也应该监听将来添加的 Dom 个节点...
$(document.body).on("submit", "#messageForm", function() {alert();});
提交时 运行ning JS 的另一种可能性是 return 从表单元素 onsubmit 属性为 false:
template.hbs
<form id="myForm" onsubmit="myFunc(); return false;">
<input id="textInput" type="text"></input>
<input type="submit"></input>
</form>
...
<script src="js/handleForm.js" type="text/javascript"></script>
handleForm.js
function myFunc() {
console.log("yo");
}
这将在浏览器控制台中记录 "yo"。它之所以有效,是因为在 onsubmit 属性中设置为 false 会阻止浏览器的默认操作(这是 html 的事情,而不是节点或 hbs 的事情)。因此,页面不会重新加载,也不会向超链接添加查询字符串,但 myFunc() 将 运行.
如果您想使用表单数据,只需从 DOM 中获取即可。一种选择是在文本输入上放置一个 id(正如我在 template.hbs 中所做的那样)并使用 jQuery 将其锁定,如下所示:
handleForm.js(修订)
function myFunc() {
var formText = $("#textInput").val();
// Do something with formText
}