如何使用JQuery在具有多个表单的页面上选择单个文本元素

时间:2011-10-17 22:12:18

标签: jquery forms

我有一个包含多个评论框的页面。当有人点击评论框的提交按钮时,JQuery会处理提交并发布评论。然后,我想将注释框中的文本设置为空。我正在使用这样的东西:

$('.formstyle').submit(function() {        
    $.post("/messages/", $(this).serialize());
    return false;
});

我知道有.reset()选项,但仍然没有告诉我如何访问单个文本元素。我可以使用$(":input[name=new_message]").val('');设置页面上所有文本框的文本,但如果有人收到他们尚未提交的消息,那可能会很烦人。我认为this.(":input[name=new_message]").val('');的某些方面可行,但没有骰子。我想我只是没有连接this(或者更可能是$(this))和输入选择器之间的点。

3 个答案:

答案 0 :(得分:2)

尝试:

$(":input[name='new_message']",this).val('');

$()的第二个参数定义了选择器的上下文,因此选择器只匹配触发提交的表单内的输入

答案 1 :(得分:1)

你可以简单地使用它: -

$('.formstyle').submit(function() {        
    $.post("/messages/", $(this).serialize());
    $(this).find('input[name=new_message]').val('');
    return false;
});

答案 2 :(得分:0)

如果您有多个<form>this将引用正在提交的具体内容。您可以使用$(this).find(':input[…]').val('')重置该表单中的字段。