当用户单击按钮时,如何使特定关键字自动输入文本字段?

时间:2013-06-16 02:34:47

标签: javascript jquery ruby-on-rails

我有一个HTML表单。我想添加一个按钮,特定关键字将自动输入到某个输入字段中(就像Twitter的回复一样)
然后它也跳转到某个链接。

如何使用jQuery或Javascript实现它?

HTML(表单部分)

<a name="comment_part"></a>
<form accept-charset="UTF-8" action="/users/John/comments" class="new_comment" data-remote="true" enctype="multipart/form-data" id="new_comment" method="post">
    <input name="utf8" type="hidden" value="&#x2713;" />
    <input name="authenticity_token" type="hidden" value="vvwHbqyiDXv0Sv5NrbPP5kfdwhovbHkkOUm2/2uJdNs=" />
    <input class="chat_input" id="body_input" name="comment[body]" type="text" />  
    <button type="submit" class="btn">Submit</button>   
</form>

HTML(按钮部分)

keyword = "@John "
(here, I want to show a button. If a user click on it, `@John ` will be automatically input into the input field above `input class="chat_box" id="body_input"` then jump to a link `<a name="comment_part"></a>`)

如何使用jQuery或Javascript对此进行归档?

2 个答案:

答案 0 :(得分:1)

创建一个按钮并为其指定一个唯一的id属性:

<button type="button" id="username" value="#{@keyword}">Populate the chat box</button> 

然后,在jQuery中,听一下该按钮的点击;点击后,传递value属性并将其分配给input.chat_input#body_input

$(document).ready(function(e) {
     $('button#username').click(function () {
         e.preventDefault();
         $(".chat_input#body_input").val($(this).attr('value'));
     });
});

编辑:

如果您希望按钮单击以跳转到名称链接,则可以使用Rails'button_to helper

<%= button_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>

答案 1 :(得分:0)

根据关键字的来源,只需将其作为数据属性附加到您的按钮...

  <button class='yourbutton' data-keyword="@john">YOUR BUTTON</button>

然后Jquery进入你的文档准备代码......

$('.yourbutton').click(function(e){
e.preventDefault();    
$('#body_input').val($(this).data('keyword'));
  $('html, body').animate({scrollTop: $('a[name="comment_part"]').offset().top -100 }, 'slow'); 
});