通过按键提交单个表单元素
submit individual form element with keypress
我有一个部分可以显示相关博客文章的所有答案,并为其添加功能
<div id='answerwrapper'>
<?php foreach($answerStuff as $answer){?>
<div class='styleanswer'><?php echo $answer->answer_body;?></div>
<a href='' class='cmnt'>comment</a>
<form>
<textarea class='answerComment' placeholder=' add a comment......' ></textarea>
</form>
<hr>
<?php } ?>
</div>
有多个答案,所以应该有多个带有注释文本字段的表单元素。我只想点击回车键提交每个新的评论。问题是,当我使用特定的文本区域时,我不知道如何访问特定的表单。我添加这行是为了提交表格,但它不起作用
$(this).form.submit()
我所能做的就是:
var comment=$('.cmnt');
var textarea=$('.answerComment');
for(i=0;i<comment.length;i++){
(function(i){
$(comment[i]).click(function(e){
e.preventDefault();
$(textarea[i]).show();
$(textarea[i]).keypress(function(e){
if(e.which===13){
$(this).form.submit() //does nothing, need to submit the particular form element from here
}
});
$(this).hide();
});
})(i);
}
有人能帮我解决这个问题吗?谢谢:)
Textarea是表单的子项,因此:$(this)parent("form").submit();
您可以在jQuery中使用children()和parent()来选择children和parent元素。
您可以使用document.activeElement来选择当前突出显示的输入框。然后在回车键上通过Ajax post调用将该元素的值提交给服务器。
类似(未经测试):
window.addEventListener("keydown", function(event) {
event.preventDefault();
var el = document.activeElement;
if(e.which == 13) {
$.ajax({
url: [your url],
data: JSON.stringify({name: el.name, value: el.value}),
method: "POST",
contentType: "application/x-www-form-urlencoded"
}).success(function(data) {
console.log("yay my untested code worked and stuff was submitted");
})
}
});
相关文章:
- 单个页面上有多个标记表单
- 如何使用单个表单填写多个表单
- 多个表单触发到单个工作表
- 什么 在单个页面上创建具有 php 多步骤的多个表单
- 针对各种选择框更改验证单个表单的特定字段-jQuery
- Javascript表单验证-如何在单个表中显示验证错误,而不是使用警报
- 通过单击Href将单个表单值发布到自身
- 是为大约100条记录中的每一条呈现一个表单更快,还是用ajax加载单个表单更快
- 单个 HTML 表单中的多个提交按钮
- 将选择菜单连接成单个表单输入
- 通过按键提交单个表单元素
- 在单个表单中从下拉列表中多次提交
- jQueryAjax请求仅适用于单个表单提交
- 如何提交单个表单并使用两个提交按钮一个按钮单击然后验证
- 在提交整个表单之前,我可以将单个表单值提交到数据库中吗
- 在单个表单中使用2个提交按钮
- 如何在具有Ajax的单个表单中使用多个Submit按钮
- 通过ajax通过一个按钮将单个表单提交给两个操作
- 事件用于页面上的任何表单(不是特定于单个表单)
- 单个表单按钮错误地触发两个事件侦听器和警报框