jQuery将文本字段的值附加到表单提交列表中

Posted

技术标签:

【中文标题】jQuery将文本字段的值附加到表单提交列表中【英文标题】:jQuery append value of text field to list on form submit 【发布时间】:2014-07-14 02:28:31 【问题描述】:

我正在尝试为演示创建一个极其简单的评论表单;在文本字段中添加一些文本,提交,向列表添加值。当我使用按钮和点击事件时,它可以工作:

<script>
$(".add-comment").click(function (e) 
var add = $('#comment-body').val();
$('.comments').append('<li>' + '<h4>Name</h4> ' + add + '</li>');
);
</script>

<form>
<input type="text" id="comment-body" />
<button type="button" class="add-comment">Submit</button>
</form>
<ol class="comments"></ol>

但这是一个移动演示,所以我根本不需要按钮。我只想在用户点击返回键时发布评论。我尝试删除按钮,并像这样编辑脚本,但它不起作用:

$("form").submit(function (e) 
var add = $('#comment-body').val();
$('.comments').append('<li>' + '<h4>Name</h4> ' + add + '</li>');
);

任何想法我做错了什么?

【问题讨论】:

【参考方案1】:

在提交页面时重新加载,因为您将页面提交到服务器,所以您有 2 个选项:

1) 重新加载页面时(在服务器上)会重新加载所有 cmets2) 使用异步提交 (AJAX) 并在回调中添加厘米

【讨论】:

啊,有道理。可悲的是,这超出了我的技能水平。我会寻找一个 cmets 插件。谢谢。【参考方案2】:

改变这个:

<button type="button" class="add-comment">Submit</button>

到这里:

<button type="submit" class="add-comment">Submit</button>

type="submit" 将提交表单。


此外,您的表单没有action 属性,因此这将提交到您的当前页面。

【讨论】:

【参考方案3】:

好的,对于将来偶然发现此问题的任何人,有一种更简单的方法可以做到这一点。您需要做的就是检测何时有人按下回车键。您根本不需要使用表格。这里是:

<ol class="comments"></ol>     
<input type="text" id="comment-body" placeholder="add comment here" />          
<script>     
$('#comment-body').keydown(function (e)     
if(e.keyCode == 13)     
var add = $('#comment-body').val();     
$('.comments').append('<li>' + '<h4>Name</h4> ' + add + '</li>');     
)     
</script>

【讨论】:

以上是关于jQuery将文本字段的值附加到表单提交列表中的主要内容,如果未能解决你的问题,请参考以下文章

将值附加到 URL 的表单

Jquery 发送到电话单击链接以填充键盘表单中的文本字段

用于复制和粘贴垂直列表的 Django 表单字段

使用 jQuery 将值发布到 api 未按预期工作

Angular 2新表单,提交重定向到同一页面,表单字段附加在URL中作为查询参数,新路由器版本

在 PHP 中提交表单时如何保留输入字段中的值?